子类拷贝时,不应忘记父类部分,例:
class Test{
public:
Test();
~Test();
Test(const Test &test){
}
Test &operator=(const Test &test){
}
private:
int mTest;
};
class TestA : public Test {
public:
TestA();
~TestA();
TestA(const TestA &test);
TestA &operator(const TestA &test);
private:
int mTestA;
};
子类拷贝构造实现,注意其中的父类部分:
TestA::TestA(const TestA &test) : Test(test){
}
子类拷贝operator=操作符实现,注意其中的父类部分:
TestA &TestA::operator=(const TestA &test){
Test::operator=(test);
this.mTestA = test.mTestA;
return *this;
}