继承与派生
虚函数和抽象类

虚函数

yichen posted @ 2014年5月05日 23:19 in Essay , 353 阅读

1

1.virtual关键字只用在虚函数的声明中,在类外定义虚函数的时候不能用virtual。为了提高程序可读性,往往在派生类定义该函数时不省略virtual。

2.静态联编,当基类与派生类有同名函数时,调用的时候是根据类型来判断调用不同类中的同名函数,在编译阶段完成;动态联编,当将基类中与派生类同名的函数定义为virtual时,当用指针调用的时候是根据对象来判断调用不同类中的同名函数,在运行阶段完成。

3.虚函数在每个类中建议都有virtual说明,并且其对于每个类都有不同的函数定义。

4.只有通过对象指针或对象引用来调用虚函数,才能实现动态联编,如果使用对象来调用虚函数,则采用的是静态联编。

5.虚函数派生下去仍是虚函数,可以省略virtual,但不建议。

6.虚函数与虚拟继承有相似的地方,但它们之间没有任何联系。虚拟继承即虚基类实现。

7.通常将类簇中的具有共性的成员函数声明为虚函数,而具有个性的函数没有必要声明为虚函数。但也有类外

 


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter