虚函数
如果要在派生类中重新定义基类的方法,通常应将基类方法声明为虚的。这样,程序将根据对象类型而不是引用或指针的类型来选择方法版本。
为基类声明一个虚析构函数也是一种惯例。如果析构函数是虚的,将调用相对应对象类型的析构函数。因此,如果指针指向的是派生类的对象,将调用派生类对象的析构函数,然后自动调用基类的析构函数。
如果要在派生类中重新定义基类的方法,通常应将基类方法声明为虚的。这样,程序将根据对象类型而不是引用或指针的类型来选择方法版本。
为基类声明一个虚析构函数也是一种惯例。如果析构函数是虚的,将调用相对应对象类型的析构函数。因此,如果指针指向的是派生类的对象,将调用派生类对象的析构函数,然后自动调用基类的析构函数。