相关疑难解决方法(0)

从具体类派生一个抽象类

让我们说我们有一个具体的class Apple.(可以实例化Apple对象.)现在,有人来自class PeachApple 并从Apple中获取摘要.它是抽象的,因为它引入了一个新的纯虚函数.Peach的用户现在被迫从中派生并定义这个新功能.这是一种常见的模式吗?这是正确的吗?

样品:


class Apple
{
public:
    virtual void MakePie();
    // more stuff here
};

class Peach : public Apple { public: virtual void MakeDeliciousDesserts() = 0; // more stuff here };

Run Code Online (Sandbox Code Playgroud) 现在让我们说我们有一个具体的class Berry.有人class Tomato从贝瑞那里得到一个摘要.它是抽象的,因为它覆盖了Berry的虚拟函数之一,并使其成为纯虚拟函数.Tomato的用户必须重新实现之前在Berry中定义的功能.这是一种常见的模式吗?这是正确的吗?

样品:


class Berry
{
public:
    virtual void EatYummyPie();
    // more stuff here
};

class Tomato : public Berry { public: virtual void EatYummyPie() = 0; // more stuff here };

Run Code Online (Sandbox Code Playgroud) 注意:名称是人为的,并不反映任何实际代码(希望如此).在撰写这个问题时,没有任何成果受到伤害.

c++ inheritance abstract-class pure-virtual

13
推荐指数
2
解决办法
4038
查看次数

标签 统计

abstract-class ×1

c++ ×1

inheritance ×1

pure-virtual ×1