构造函数与析构函数

构造函数与析构函数:分别用来处理对象的创建和销毁

· 构造函数

构造函数在对象创建的时候被自动调用(如果没有自己定义,那么调用默认的),所以这时我们可以完成很多不便在对象创建后进行的事情(各种初始化)

1. 构造函数没有返回值(实际上构造函数返回的应该就是对象本身);  2. 构造函数同类名;   3. 利用构造函数的参数列表可以完成有差别的对象定义

class Teacher //类的声明(属性加行为) 
{
public:    
    Teacher() //一般都会写出默认的构造函数,同时根据需要添加带参数的构造函数来完成一些特殊的初始化任务 
    {}
  
      Teacher(int mAge)    //法一:带参数的构造函数 
    {
        age = mAge;
    } 
  
//     Teacher(int mAge)    //法二:带参数的构造函数,并使用初始化列表完成对象属性初始化 
//    : age(mAge)    
//    {
//        cout<<"alala"<<endl;
//    } 
//

}

· 析构函数

析构函数是在对象的生命周期即将结束之前自动调用的,所以我们会在析构函数中处理一些对象被销毁前的清理工作。

1. 析构函数在类名前加~;   2. 析构函数没有返回值;   3. 析构函数不接受任何参数(与构造函数最大的不同)

public:	
	~Teacher() //析构函数 
	{
		//进行清理工作(例如对象创建时申请的内存资源,需要在析构函数中进行合理地释放) 
		cout<<"春蚕到死丝方尽,蜡炬成灰泪始干"<<endl; //这里没有什么额外的清理工作,直接输出 
	}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值