对象的构造和析构函数

构造函数和析构函数,分别对应变量的初始化和清理,变量没有初始化,使用后果未知;没有清理,则会内存管理出现安全问题。

构造函数和析构函数写法

构造函数:与类名相同,没有返回值,不写void,可以发生重载,可以有参数,编译器自动调用,只调用一次。

析构函数:~类名,没有返回值,不写void,不可以发生重载,不可以有参数,编译器自动调用,只调用一次。

构造函数和析构函数的作用域是public下才可以调用到,不写默认private,调用不到。

如果程序猿不提供,系统会默认提供,构造和析构函数,函数体为空。

 1 class Person{
 2 public:
 3     Person(){
 4         cout << "无参构造函数" << endl;
 5     }
 6     ~Person(){
 7         cout << "无参析构函数" << endl;
 8     }
 9 };
10 
11 void test01(){
12     Person p;
13 }
14 
15 int main(){
16     
17     test01();
18     system("pause");
19     return 0;
20 }

构造函数的分类和调用

按照参数分类:有参构造和无参构造;按照类型分类:普通构造和拷贝构造函数。

猜你喜欢

转载自www.cnblogs.com/qinguoyi/p/10235202.html