1、构造函数 : 类名(){}
1.1 没有返回值,不用写 void
1.2 函数名 与类名相同
1.3 构造函数可以有参数,可以发生重载
1.4 创建对象的时候,构造函数会自动调用,只调用一次
class Person{
/*
1、构造函数 : 类名(){}
1.1 没有返回值,不用写 void
1.2 函数名 与类名相同
1.3 构造函数可以有参数,可以发生重载
1.4 创建对象的时候,构造函数会自动调用,只调用一次
*/
public:
Person(){
cout << "我是构造函数"<<endl;
}
1、析构函数 :~ 类名(){}
1.1 没有返回值,不用写 void
1.2 函数名 与类名相同,在名称前面加上符号~
1.3 构造函数不可以有参数,因此不可以可以发生重载
1.4 销毁对象的时候,构造函数会自动调用,只调用一次
class Person{
public:
/*
1、析构函数 :~ 类名(){}
1.1 没有返回值,不用写 void
1.2 函数名 与类名相同,在名称前面加上符号~
1.3 构造函数不可以有参数,因此不可以可以发生重载
1.4 销毁对象的时候,构造函数会自动调用,只调用一次
*/
~Person(){
cout << "我是析构函数"<<endl;
}
};
在这里个人备注一下,析构函数的调用,一定要弄清楚,对象存储是在堆区、还是在栈区(局部变量),这样会影响析构函数的调用的时机!!!!
int main(){
Person p1;
// 1、由于加了个system暂停函数,这个时候是不会调用析构函数的,等main()函数结束,才会释放P1,才会调用析构函数。
system("pause");
return 0;
}