C++中的抽象类
Abstract Classes in C++
我们如何通过查看C++中的类的定义来知道它是否是抽象的?
我的意思是,在Java中,类名中会包含一个抽象关键字。在C++中,我们所拥有的只是纯粹的虚拟函数。。。好吧,即使一个类派生了一个抽象基类(具有纯虚拟函数),但未能为这些函数提供实现(这意味着派生类也是抽象的),我们甚至无法通过观察来知道派生类是否是抽象的,因为它不包含任何纯虚拟函数,但它是抽象的。
那么,这是怎么回事?
除了像您所说的那样寻找纯虚拟函数之外,无法从定义中判断类是否抽象。
因此,标准对C++中的抽象类不使用任何特殊关键字,唯一的方法是知道类中是否存在至少一个纯虚拟函数。
在C++11中,在boost中有相同的函数之前,请使用is_abstract()。
相关文章:
- 无法创建抽象类的实例
- 用pybind11包装C++抽象类时出错
- 如何处理从一个对象传递到另一个在C++中具有公共抽象类的对象的消息
- 有没有办法按值将纯抽象类的所有子类传递给 C++ 中的函数?
- 抽象类错误,请参阅声明" "是抽象的
- 将自定义函数传递到基抽象类中以延迟执行
- 将包含抽象类和普通类C++包导出到 Python
- C++:处理抽象类中的错误时出现问题
- C ++如何在原始抽象类中创建一个函数,该函数接受派生类的输入
- 在 C++ 中使用另一个头文件中的抽象类
- ATL::CComContainedObject<contained>: C2259 无法实例化抽象类
- C++:从抽象类重写纯虚拟运算符重载
- 如何创建shared_ptr抽象类的容器
- .h 或.cpp文件中的抽象类或两者兼而有之?
- 从抽象类继承以创建另一个抽象类时,我应该重新声明所有虚函数吗?
- E0322:不允许使用抽象类类型 " " 的对象
- 可视抽象类 c++(错误 LNK 2001:未解析的外部符号)
- 提升 - 类没有名为"序列化"的成员(抽象类)?
- 如何将子类作为函数的参数传递给期望基类,然后将该对象传递到指向这些抽象类对象的指针向量中?
- 对纯抽象类中方法的未定义引用