拷贝构造函数的代码实现:
1.类A浅拷贝:
A(const A& a){…}
2.派生类的浅拷贝构造函数:
B(const B&b):A(b),member(b.member){…}
深拷贝构造函数在浅拷贝的基础上函数体增加代码//类A中有指针成员,如int *p;:
…delete p;
b.p=new p;
b.p=A::b.p;
…
赋值函数的代码实现:
1.类A的浅赋值函数
A& operator=(const A& a){… if(this!=&b){/进行各数据成员的赋值/}…return this;}
2.派生类B的浅赋值函数(基类为A)
B& operator=(const B&b){… if(this!=&b){A::operator=(const A&a){/进行A类对象a中的成员赋值/} /进行B类对象b中成员的赋值/} returnthis;}