编译器可以为暗自为class创建default构造函数,Copy构造函数、copy assignment操作符以及析构函数
如果内含reference成员、const成员,那么编译器不会创建copy assignment操作符。
另外,如果base classes 将copy asignment操作符声明为private,那么编译器将不会为derived classes生成一个copy assignment操作符。
为多态基类生命virtual析构函数
使得析构ptk时,能够把derived对象完全删除。
即:
带多态性质的base classes应该声明一个virtual析构函数。如果classes带有任何virtual函数,他就应该拥有一个virtual析构函数。
Classes的设计目的如果不是作为base classes使用,或不是为了多台使用,就不该生命virtual析构函数。