首页 > 代码库 > 构造函数
构造函数
构造函数:构造函数是一种特殊的成员函数
构造函数的特点:
1 构造函数的函数名和类名相同
2 构造函数没有返回值
3 构造函数用于初始化对象
通过一个实例说明构造函数的作用
#include <iostream> using namespace std; class Time//时间类 { public: void set_time();//设置时间 void show_time();//显示时间 //定义一个构造函数用于对对象初始化 Time() { hour = 0; minute = 0; sec = 0; } private: int hour; int minute; int sec; }; //设置时间 void Time::set_time() { char ch1, ch2; cout<<"请输入一个时间,(格式hh:mm:ss)"; cin>>hour>>ch1>>minute>>ch2>>sec; } //显示时间 void Time::show_time() { cout<<hour<<":"<<minute<<":"<<sec<<endl; } int main() { Time t1;//定义一个t1时间对象 t1.show_time();//显示时间 return 0; }
执行结果:
上面的代码中定义了一个构造函数Time,其作用是初始化时间对象
上面的构造函数Time也可以像普通的成员函数一样在类中定义在类外面实现功能
//定义一个构造函数用于对对象初始化 Time::Time() { hour = 0; minute = 0; sec = 0; }
也可以同时定义多个构造函数(构造函数重载)
#include <iostream> using namespace std; class Time//时间类 { public: void set_time();//设置时间 void show_time();//显示时间 //定义一个构造函数用于对对象初始化 Time(); //带参数的构造函数 Time(int h, int m, int s); private: int hour; int minute; int sec; }; //设置时间 void Time::set_time() { char ch1, ch2; cout<<"请输入一个时间,(格式hh:mm:ss)"; cin>>hour>>ch1>>minute>>ch2>>sec; } //显示时间 void Time::show_time() { cout<<hour<<":"<<minute<<":"<<sec<<endl; } //定义一个构造函数用于对对象初始化 Time::Time() { hour = 0; minute = 0; sec = 0; } //带参数构造函数 Time::Time(int h, int m, int s) { hour = h; minute = m; sec = s; } int main() { Time t1;//定义一个t1时间对象 t1.show_time();//显示时间 Time t2(10,49,28); t2.show_time(); return 0; }
执行结果:
第一个构造函数没有带参数,也叫默认构造函数
第二个构造函数是带参构造函数,程序中出现了两个构造函数所欲可以称为函数重载,因为是构造函数,所以叫构造函数重载
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。