#define _CRT_SECURE_NO_WARNINGS
#include
using namespace std;// 创建一个类( 类内包括: 2个构造函数,一个析构函数)
class Person
{
public: // 构造函数:
// 没有返回值, 参数为NULL也不写void, 函数名称跟类名相同
// 构造函数中可以有参数,可以发生函数重载
Person() // 无参构造
{
cout << "无参构造函数调用" << endl;
}
Person(int a) // 有参构造 //可以有参数 //发生函数重载
{
cout << "有参构造函数调用" << endl;
}
**************************************************************************************** //析构函数:
// 没有返回值,函数名称跟类名相同,函数名称前加 ~
// 但是没有参数,也不可以发生重载
~Person()
{
cout << "析构函数调用" << endl;
}
};
int main()
{
Person p;
system("pause");
return EXIT_SUCCESS;
}/*
结果: 无参构造函数调用 析构函数调用
说明:并没有自己手动调用构造函数和析构函数,但也调用了
无论你是否喜欢,对象的初始化( 构造) 和清理工作( 析构) 是编译器强制我们要做的事情
即使你不提供初始化操作和清理操作,编译器也会给你增加默认的操作
只是这个默认初始化操作不会做任何事
*/
![580e5f1c52cea31f8d20835b311bfd2d.png](https://img-blog.csdnimg.cn/img_convert/580e5f1c52cea31f8d20835b311bfd2d.png)