C++问题:纯虚函数和抽象类
在 C++ 中,virtual函数就是虚函数。这两个术语指的是同一个概念:
virtual 是关键字:你在基类中声明一个函数时,使用 virtual 关键字修饰它,这个函数就成为了虚函数。
“虚函数” 是概念名称:它描述的是这种函数的行为特性——支持通过基类指针或引用在运行时动态绑定到实际对象所属派生类的实现(即运行时多态)。
纯虚函数与抽象类
(1)纯虚函数就是没有函数体,同时在定义时,在函数名后加=0
(2)如果父类中一个虚函数自身的实现无意义,此时可以将该虚函数定义为纯虚函数
(3)一个普通的虚函数在虚函数表中其函数指针是一个有意义的值,如果是一个纯虚函数,在虚函数表中,其函数指针的值就是0
(4)抽象类(纯虚类):拥有至少一个纯虚函数的类。抽象类不能直接创建对象,当子类重写了所有的纯虚函数后,才能创建子类对象