首页 > 代码库 > C++中的构造函数
C++中的构造函数
?构造函数
–和类名相同
–没有返回值类型
–只在建立对象的时候被自动调用一次
–调用构造函数的主要目的是初始化对象
?一个对象的创建过程:
–分配内存空间
–初始化成员变量,如果成员是对象,构造他
–调用构造函数
?默认的空参构造函数
构造函数的使用
?构造函数重载
–构造函数也是函数,拥有重载的特征
–重载的构造函数在构造对象时根据参数自动选择
?利用参数默认值简化构造函数
–构造函数也拥有函数参数默认值的特性
–使用默认值可以减少构造函数的个数
?构造函数的初始化列表
–初始化列表可以让构造函数在调用之前进行初始化工作
–如果类的成员变量是const或引用类型,使用初始化列表是不二选择
?实践中,类的声明和定义是分开的
–请试着将写的类分成头文件和实现两部分
//构造方法 #pragma 在做游戏的公司里面初始化的方法有两种风格 一种是init这是本来做苹果转过来的 另外一种是在构造方法里面初始化 (这本来就是做C++的) #include <iostream> using namespace std; //类 class Time{ //默认是私有的 int hour; int min; int sec; // void dida(){ sec++; if (60 == sec) { sec = 0; min++; } if (60 == min) { min = 0; hour++; } if (24 == hour) { hour = 0; } } // void show(){ cout << hour << "时" << min << "分" << sec << "秒" << endl; } public: #pragma 构造方法: 没有返回值 ,方法名与类名相同。构造方法在创建对象的时候一定会被动的调用一次。如果我们自己没有写构造方法,编译器会帮我们写一个无参的构造方法 Time (int h,int m,int s){ cout << "Time ()构造方法执行了" << endl; //通常在构造方法里面去初始化成员变量 hour = h; min = m; sec = s; } //公开的初始化方法 void init(int h,int m,int s){ hour = h; min = m; sec = s; } // void run(){ while (1) { show(); dida(); //代表一个时间 time_t cur = time(0);//0是获取当前系统的时间 //注意理解 while (cur == time(0)) { //死循环1秒钟 } } } }; //主函数 int main(int argc, const char * argv[]) { //创建对象 并把参数传进去给构造函数 Time t(15,38,27); t.run(); return 0; }
Time ()构造方法执行了 15时38分27秒 15时38分28秒 15时38分29秒 15时38分30秒 15时38分31秒 15时38分32秒 15时38分33秒 15时38分34秒 15时38分35秒 15时38分36秒 15时38分37秒 15时38分38秒 15时38分39秒 Program ended with exit code: 9
C++中的构造函数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。