标签:style blog class c code http
构造函数:构造函数是一种特殊的成员函数
构造函数的特点:
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; }
执行结果:
第一个构造函数没有带参数,也叫默认构造函数
第二个构造函数是带参构造函数,程序中出现了两个构造函数所欲可以称为函数重载,因为是构造函数,所以叫构造函数重载
标签:style blog class c code http
原文地址:http://blog.csdn.net/u010105970/article/details/26345409