"polymorphic base class"是C++标准的一部分吗?
Is "polymorphic base class" a part of C++ standard?
对于具有虚函数的低音类,通常称为"多态基类"。在这种情况下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++标准的一部分?
该标准特别提到了多态类,例如在 10.3.1 中:
虚函数支持动态绑定和面向对象 编程。声明或继承虚函数的类是 称为多态类。
它还讨论了抽象类和纯虚函数,如 10.4.2:
抽象类是只能用作 其他一些类;不能创建抽象类的对象 除非作为派生自它的类的子对象。类是抽象的 如果它至少有一个纯虚函数。
没有具体提到纯抽象类(或纯虚类(,只有纯虚函数。
注意:这是基于标准草案n3376。
C++14标准确实定义了术语"多态类"(10.3/1(:
声明或 继承的虚函数称为多态类。
但它没有使用术语"多态基类"。
我不确定"俚语",但C++中的纯抽象类具有明确的含义。
C++中的纯抽象基类只有抽象成员函数(意味着它们都声明为virtual <return_type> <func_name>() = 0
(,而没有数据或具体成员函数。
相比之下,这里的多态基类是一个松散得多的术语。
相关文章:
- C++11 标准中的哪一部分规定了基元数据类型大小之间的相对顺序?
- 从另一个常量标准::映射初始化一个常量标准::映射的一部分
- 为什么std :: nullopt_t的一部分是C 标准的一部分
- 标准的哪一部分决定了现场成员与初始化器列表的优先级
- 虚拟表是C++标准的一部分吗?
- C 标准的哪一部分涵盖通过空指针调用方法
- fabsf 是 C++11 中标准命名空间的一部分吗?
- 内联asm是ANSI C标准的一部分吗
- C 标准的哪一部分要求set ::擦除呼叫灾难源
- 是标准的一部分
- 模板类方法不会导致错误——这是标准的一部分
- strcpy_s是C++标准的一部分吗?或者只是MS Visual C++的一部分
- 模板模板模板参数是扩展还是标准的一部分
- 线程是标准C++的一部分
- "polymorphic base class"是C++标准的一部分吗?
- 值初始化是 C++98 标准的一部分吗?如果不是,为什么在 C++03 标准中添加它
- wcslen 是 ISO/IEC 14882:2003 C++标准库的一部分吗?
- #import C++11 标准的一部分
- boost Range库将成为下一个c++标准的一部分吗?
- 模板模板参数何时成为标准的一部分?