在MFC中,许多类的成员是指针或者是句柄。因此,他们只是保存了指针对象的地址值。在使用拷贝构造函数时,这些指针只是进行普通的“=”拷贝,就是将原来对象的指针,拷贝给新的对象的指针。这就是浅拷贝。
深拷贝则是将新的对象的成员指针全部new一遍,然后对指针指向的值进行拷贝。
因此,若一个对象将其成员指针指向的对象释放了,则另一个对象访问则会发生错误。所以浅拷贝是危险的。
比如:
因此,需要加入上面的private成员,来禁用拷贝构造函数和operator=,这样可以禁止类的对象和其派生类的对象浅拷贝