gpt4 book ai didi

c++ - C++中的抽象类

转载 作者:太空宇宙 更新时间:2023-11-04 15:10:29 24 4
gpt4 key购买 nike

我有一个从抽象类派生的派生类。代码如下。我有一个派生自水族馆的 FishTank 类,而水族馆派生自项目。我的问题是我应该把 virtual int minWidth() const = 0; 的定义放在一起吗?再次进入水族馆还是下面的代码是否足够?

class Item{
public:
virtual int minWidth() const = 0;
};

class Aquarium: public Item{
public:
virtual int calWidth() = 0; // Pure virtual function.
};

class FishTank : public Aquarium{
public:
FishTank(int base1, int base2, int height);
~FishTank();
int calWidth();
int minWidth();
};

最佳答案

没有理由再做一次。它只会浪费空间,并让您有机会因拼写错误而出现编译错误。 :) 一旦您继承了它,就好像它本来就在那里一样。

但是,您实际上并没有实现它!为什么?您在 FishTank 中缺少 const:

int minWidth() const; // <-- const!

关于c++ - C++中的抽象类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2642022/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com