C++ 类声明(继承)[关闭]
Posted
技术标签:
【中文标题】C++ 类声明(继承)[关闭]【英文标题】:C++ class declarations (inheritence) [closed] 【发布时间】:2013-10-16 09:29:05 【问题描述】:定义类 X、Y 和 Z,使得 Y 是 X 的子级,Z 是 Y 的子级。Y 类应该是抽象的。
如何声明 Y 类,因为它应该是抽象的?
【问题讨论】:
至少要有一个纯虚成员函数。 【参考方案1】:class X
;
class Y : public X
public:
// For defining an abstract class without pure virtual functions:
virtual ~Y() = 0;
virtual void method() = 0;
;
class Z : public Y
public:
void method() override
;
【讨论】:
关闭,但缺少一些标点符号并组成了一个关键字。 对我来说看起来像是 C++ 以外的其他语言。 更接近,但 C++ 中没有abstract
关键字。如果一个类有一个纯虚成员函数,那么它就是隐式抽象的。
@MikeSeymour 你确定吗?如果我用抽象关键字声明一个没有任何纯虚函数的类,我无法从中创建一个对象,我得到这个错误:类“”是用类修饰符“抽象”声明的
@MohammadRB:我完全确定 abstract
不是 C++ 关键字。要么你没有编译 C++,要么你有一个带有非标准扩展的编译器。【参考方案2】:
class Y
public:
virtual void foobar() = 0;
;
这是 c++ 意义上的抽象类。
【讨论】:
以上是关于C++ 类声明(继承)[关闭]的主要内容,如果未能解决你的问题,请参考以下文章