C++复制对象时勿忘每一部分

确保两点: 1 复制所有的成员变量 2 调用所有基类的copy函数

class Customer{public:explicit Customer(const tstring _name,const tstring _lastTransaction):m_sName(_name), m_sLastTransaction(_lastTransaction){OutputDebugString(_T("Customer construct \n"));}virtual ~Customer(){OutputDebugString(_T("Customer deconstruct \n"));}Customer(const Customer& customer) : m_sName(customer.m_sName){OutputDebugString(_T("Customer copy construct \n"));}Customer& operator=(const Customer& customer){m_sName = customer.m_sName;OutputDebugString(_T("Customer operater \n"));return *this;}private:tstring m_sName;tstring m_sLastTransaction;};class PriorityCustomer: public Customer{public:explicit PriorityCustomer(const tstring name,const tstring lastTime,int nPriority):m_nPriority(nPriority), Customer(name, lastTime){OutputDebugString(_T("PriorityCustomer construct \n"));}PriorityCustomer(const PriorityCustomer& rhs) :m_nPriority(rhs.m_nPriority),Customer(rhs){OutputDebugString(_T("PriorityCustomer copy construct\n"));}PriorityCustomer& operator=(const PriorityCustomer rhs){OutputDebugString(_T("PriorityCustomer operater \n"));m_nPriority = rhs.m_nPriority;Customer::operator=(rhs);return *this;}virtual ~PriorityCustomer(){OutputDebugString(_T("PriorityCustomer deconstruct \n"));}private:int m_nPriority;};

,地球仍然转重,世间依旧善变,而我永远爱你。

C++复制对象时勿忘每一部分

相关文章:

你感兴趣的文章:

标签云: