C++语言之析构函数与构造函数

时间:2021-11-10 12:17:50
#include <iostream>

using namespace std ;

class Dog
{
//默认情况下定义变量为私有
int a ;

public:
//两个函数都只能自动调用,不能被人为手动调用

//构造函数为公有

//用法:
//初始化该类成员变量或者成员方法
//分配空间
Dog(int a ) ;

//析构函数
//析构函数没有返回值,不能传参,也不能重载,只能有一个或者没有
//调用方式为 当空间释放之前自动调用。如果为栈区,则栈消毁之前自动调用,如果为全局区或者静态区,则进程结束之前自动调用

//用法:
//释放空间
~Dog();
};

int main(void)
{
cout << "befor ... " << endl ;
Dog dog(10) ;
cout << "after ... " << endl ;
return 0 ;
}

Dog::Dog(int a)
{
this->a = a ;
cout << "hello " << endl ;
}

Dog::~Dog()
{
cout << "good bey " << endl ;
}

运行结果:

C++语言之析构函数与构造函数