动态绑定的支持————虚函数
1 class TPerson 2 { 3 public: 4 TPerson(const char theName[], long theSSN, 5 const char theBirthDate[], const char theAddress[]); 6 //其他函数 7 virtual void Print() const; 8 private: 9 //数据成员 10 };
只有函数前带有virtual的才是虚函数,其他函数不是虚函数
一旦在类中声明成员函数是虚函数,那么它(成员函数)将在所有的子类中保留其动态绑定的性质
例如,Print在TStudent中都是虚函数。
注意:virtual关键字只允许在声明中使用,不允许在成员函数定义中使用
DisplayOut()函数就使用派生类的实现
派生类覆盖基类的虚方法时,该方法在派生类中的语义必须与在基类中的语义相同
:也就是所两者功能要相同