【发布时间】:2013-06-19 15:52:41
【问题描述】:
我正在查看以下内容:
它说 C++ 中的抽象类包含一个纯虚函数。但是,这并不意味着创建一个抽象类我所做的只是插入一个纯虚函数?难道我不能有一个具体的类,它不为一个特定的函数提供实现,因此使其抽象,强制派生类提供实现吗?这不会使类抽象吗?
那么如何区分“这是一个抽象类”和“这是一个具有一个纯虚函数的具体类”?
【问题讨论】:
-
问题有点不清楚/令人困惑。您非常清楚地表明您已经理解抽象类必须包含纯虚函数。这就是要求。如果您没有纯虚函数,则您的类不是抽象的。所以你问这是否正确?
-
是的,至少有一个纯虚函数会使类抽象。 Reading this 可能会对您有所帮助。
-
@kfsone 你是说具体类不能包含纯虚函数?
-
@BobBlogge 将虚函数设置为 0,使其成为纯虚函数。
-
@user997112 我的意思是——正如你已经说过的——向一个类添加一个纯虚函数会使该类成为一个抽象类。一旦你为所有 pvf 提供了实现,你的类就是具体的。
标签: c++ inheritance polymorphism virtual abstract