类的构造函数和析构函数

python由于变量类型的自由,在定义函数的时候省去了许多麻烦。


C++想要在类里定义一个构造函数,和写普通的成员函数有所区别:

①构造函数没有声明返回类型

②构造函数可以有多个,分别应对不同参数

③通常取和类名相同的函数名


析构函数:

作用:在类成员使用完毕后,释放其所占用资源

语法:

①和构造函数一样不声明返回类型

②在函数名前加~以表明身份,如~Box(){}


构造函数与析构函数的定义如下:


class Box{
private:
	int l,b,h;
public:
	//默认构造函数,可用Box object;构造对象
	//构造函数前面不注明返回类型
	Box(){
		l=0;b=0;h=0;
	}

	//读取参数的构造函数,可用Box object=Box(A,B,C);或Box object(A,B,C);构造对象
	Box(int A,int B,int C){
		l=A;b=B;h=C;
	}

	Box(Box box){
		l=box.getLength();
		b=box.getBreadth();
		h=box.getHeight();
	}
        ~Box(){}
};

构造函数的使用:

第一种情况:未定义类的构造函数,则调用默认构造函数

Box box;

第二种情况:有定义类的构造函数,则调用定义的构造函数,其中分为显示调用和隐式调用两种

//显示调用
Box box=Box(args);


//隐式调用
Box box(args);


若要创建一个类对象数组,则有两种情况:

//调用默认构造函数,无参数
//无需对数组的每个成员附加说明
#define MAX 3
Box box[MAX];

//调用有参数的构造函数
//需要分别对每个数组成员进行初始化
Box box[MAX]={
Box(),
Box(1,2,3),
Box(2,4,6)
};


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值