C++中的抽象类

Abstract Classes in C++

本文关键字:抽象类 C++      更新时间:2023-10-16

我们如何通过查看C++中的类的定义来知道它是否是抽象的?

我的意思是,在Java中,类名中会包含一个抽象关键字。在C++中,我们所拥有的只是纯粹的虚拟函数。。。好吧,即使一个类派生了一个抽象基类(具有纯虚拟函数),但未能为这些函数提供实现(这意味着派生类也是抽象的),我们甚至无法通过观察来知道派生类是否是抽象的,因为它不包含任何纯虚拟函数,但它是抽象的。

那么,这是怎么回事?

除了像您所说的那样寻找纯虚拟函数之外,无法从定义中判断类是否抽象。

因此,标准对C++中的抽象类不使用任何特殊关键字,唯一的方法是知道类中是否存在至少一个纯虚拟函数

在C++11中,在boost中有相同的函数之前,请使用is_abstract()。