//对象的创建和销毁 //两个特殊的成员函数:构造和析构函数 //构造函数作用: /* 和类名相同,没有返回类型和返回值 1.对象被创建时候,自动调用 2.为对象的数据成员开辟空间 3.完成对象的数据成员的初始化工作 4.给对象一个标识符 */ ///构造函数的补充: /* 1.构造函数可以有参数 */ point(int x,int y) { cout << "带参数的构造函数" << endl; xPos = x; yPos = y; } //2.构造函数支持重载;在创建对象时,根据传入的参数来决定采用哪个构造函数。 //3.构造函数允许按参数缺省方式调用;重载经常用于参数类型不一致的情况,如果只是参数个数不一致,推荐使用参数缺省方式 point (int x = 0; int y = 0) { cout << "带参数的构造函数" << endl; xPos = x; yPos = y; } //4.初始化表达式,初始化的顺序是按照成员在类中声明的顺序决定的; point (int x,int y): xPos(x),yPos(y) { cout << "初始化表达式" ; } /* 析构函数 在对象被销毁的时候,被自动调用 特点: 1.加~号 2.析构函数只有一个,不能被重载(因为不能指定参数) 3.缺省析构函数,只消除数据成员所占的空间,对类的函数成员通过new,malloc动态申请的内存不会自动释放。必须使用delete、free; 对象何时销毁,取决于生存周期! 如: 全局对象:在程序运行结束时销毁 自动对象:在离开其作用域时销毁 动态对象:在使用delete时销毁 析构函数的调用顺序和构造函数相反,析构函数可以显示的调用。 */
构造函数和析构函数
最新推荐文章于 2025-06-30 14:34:44 发布
1679

被折叠的 条评论
为什么被折叠?



