【发布时间】:2011-09-28 15:49:18
【问题描述】:
我正在做一个练习,要求我采用一个基类 Rodent 并将其变成一个纯抽象类。我对纯抽象类的理解是,它充当接口,只包含纯虚函数。虽然这是一个简单的练习,但我对本书提供的解决方案有疑问:
class Rodent
{
public:
virtual ~Rodent() {cout << "Destroy rodent" << endl;}
virtual void run() = 0;
virtual void squeak() = 0;
};
如您所见,作者为析构函数添加了一个虚拟定义。加入这个定义是不是意味着这是一个抽象类而不是一个“纯”抽象类?
【问题讨论】:
-
我明白,我想知道它是否仍然是“纯”摘要。
-
这个问题中最不有趣的一点是,pure abstract class 不是 C++ 概念,因此它很大程度上取决于您对该术语的定义是什么(比较with:纯虚函数,标准中定义的具有精确含义的)
标签: c++ class abstract pure-virtual