6.构造和析构函数

2021-01-29  本文已影响0人  lxr_
#include<iostream>
using namespace std;

//构造和析构函数会被编译器自动调用,完成对象初始化和清理工作
//***对象的初始化和清理工作是编译器强制要求我们做的事情,如果我们不提供构造和析构函数,编译器会提供空实现的构造和析构函数

class Person
{
public:
    //1.构造函数
    //没有返回值,不用写void
    //函数名与类名相同
    //构造函数可以有参数,也可以发生重载
    //创建对象的时候,构造函数会自动调用,而且只调用一次
    Person()
    {
        cout << "Person构造函数的调用" << endl;
    }

    //2.析构函数:
    //没有返回值,不用写void
    //函数名和类名相同,在名称前加~
    //析构函数不可以有参数,不能发生重载
    //对象在销毁前,会自动调用析构函数,而且只会调用一次
    ~Person()
    {
        cout << "Person析构函数的调用" << endl;
    }
};
void test01()
{
    Person p;//在栈上的数据,test01执行完毕后,释放这个对象
}
int main()
{
    //Person p;//执行完瞬间会析构
    test01();
    system("pause");
    return 0;
}
上一篇下一篇

猜你喜欢

热点阅读