动态绑定的支持————虚函数

 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()函数就使用派生类的实现

 

派生类覆盖基类的虚方法时,该方法在派生类中的语义必须与在基类中的语义相同

:也就是所两者功能要相同

posted on 2017-03-20 11:03  郑哲  阅读(83)  评论(0编辑  收藏  举报