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)
};