1.构造函数与析构函数中的虚函数不是虚函数
在构造派生类对象时,首先构建基类对象,在执行基类的构造函数时,如果构造函数中有虚函数且是多态的话就会调用派生类中相应的虚函数,但派生类对象还没被初始化,调用就会出错。所以构造函数中的虚函数不能是多态。
但实际上,在构建派生类中的基类对象时,对象的类型是base class而不是derived class,不只是虚函数会被编译器解析到base class,如果使用运行时类型信息(dynamic_cast或typeid),也会把对象视为base class。
2.令operator=返回一个reference to *this
主要是为了实现连等。