我有一个来自抽象类的派生派生类.代码如下.我有一个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();
};
Run Code Online (Sandbox Code Playgroud)
没有理由再做一次.它只会浪费空间,让你有机会从拼写错误中获得编译错误.:)一旦你继承,它就像它曾经在那里一样.
但是,你实际上并没有实现它!为什么?你错过const了FishTank:
int minWidth() const; // <-- const!
Run Code Online (Sandbox Code Playgroud)