拷贝构造函数就是用已存在的对象来初始化另一个对象。
上面fanwanping(6827)所说的有点不妥,拷贝构造函数应该使用引用,
上面那个例子应该写成这样:
class A
{
private:
int b;
public:
A(int c=0);
A(A &a);
...
};
A::A(int c=0){
b=c;
}
A::A(A &a){
b=a.b;//这里实现把已存在的a的值拷贝给了正在初始化的对象
}
void main()
{
A a1(10);
A a2(a1);//这里使用拷贝构造函数来初始化a2
}
上面fanwanping(6827)所说的有点不妥,拷贝构造函数应该使用引用,
上面那个例子应该写成这样:
class A
{
private:
int b;
public:
A(int c=0);
A(A &a);
...
};
A::A(int c=0){
b=c;
}
A::A(A &a){
b=a.b;//这里实现把已存在的a的值拷贝给了正在初始化的对象
}
void main()
{
A a1(10);
A a2(a1);//这里使用拷贝构造函数来初始化a2
}