【发布时间】:2012-11-23 01:28:07
【问题描述】:
我需要设置一个类继承结构,其中抽象基类只保存成员变量(但没有成员方法)。成员方法将由派生类定义。因此,我需要的是这个帖子:Making a class abstract without any pure virtual methods
从那里的前 2 个答案中,我意识到有两种方法可以实现它:
- 使析构函数成为纯虚拟的。
- 使构造函数受到保护。
我很想知道这两种方法之间的区别。是否存在一种应该优先于另一种的情况(或者可能是一些特殊情况,一种可以工作但另一种不行)?我想了想,什么也想不出来。
我在这里(Is there a use for making a protected destructor virtual?、C++: Protected Class Constructor、Should an abstract class' destructor be pure virtual?)搜索了一些帖子的答案,试图将一些东西放在一起,但我无法得出结论。
【问题讨论】:
标签: c++ inheritance