对于具有虚函数的低音类通常称为“多态基类”。在这种情况下Car
类
class Car
{
virtual void drive(){std::cout << "drive right";}
};
class EuropeCar: public Car
{
void drive(){std::cout << "drive left";}
}
polymorphic base class
是pure abstract class
的一般俚语还是C ++标准的一部分?
答案 0 :(得分:6)
标准特别提及多态类,例如 10.3.1 :
虚函数支持动态绑定和面向对象 节目。声明或继承虚函数的类是 称为多态类。
它还讨论了抽象类和纯虚函数,例如 10.4.2 :
抽象类是一个只能用作基类的类 其他一些班级;不能创建抽象类的对象 除了作为从它派生的类的子对象。一堂课是抽象的 如果它至少有一个纯虚函数。
没有特定提及纯抽象类(或纯虚拟类),只有纯虚函数。
N.B:这是基于标准草案n3376。
答案 1 :(得分:4)
C ++ 14标准确实定义了术语&#34;多态类&#34; (10.3 / 1):
声明或的类 继承虚函数称为多态类。
但它并没有使用术语&#34;多态基类&#34;。
答案 2 :(得分:1)
我不确定&#34;俚语&#34;但是C ++中的纯抽象类具有明确的含义。
C ++中的纯抽象基类具有仅抽象成员函数(意味着它们都被声明为virtual <return_type> <func_name>() = 0
)并且没有数据或具体成员函数。
这里的多态基类比较宽松。