构造函数不同于其他类方法,因为他创建新的对象,而其他类方法只是被现有的对象调用,这是构造函数不被继承的原因之一。继承意味着派生类对象可以使用基类的方法,然而,构造函数在完成工作之前,对象并不存在。
构造函数不能是虚函数。创建派生类对象时,将调用派生类的构造函数,而不是基类的构造函数,然后,派生类的构造函数将使用基类的一个构造函数,这种顺序不同于继承机制。因此派生类不继承基类的构造函数,所以将类构造函数声明为虚拟的没有意义。