C++中的抽象类

ahe*_*ang 0 c++

我有一个来自抽象类的派生派生类.代码如下.我有一个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)

GMa*_*ckG 6

没有理由再做一次.它只会浪费空间,让你有机会从拼写错误中获得编译错误.:)一旦你继承,它就像它曾经在那里一样.

但是,你实际上并没有实现它!为什么?你错过constFishTank:

int minWidth() const; // <-- const!
Run Code Online (Sandbox Code Playgroud)