多重继承:什么是好例子?

Phi*_*ess 10 language-agnostic oop multiple-inheritance

我试图找到一个使用多重继承的好例子,这是普通接口无法做到的.

我认为很难找到一个无法用另一种方式建模的例子.

编辑:我的意思是,有人可以给我一个很好的现实世界的例子,当你需要使用多重继承来实现这个例子尽可能干净时.它不应该使用多个接口,只是在C++中继承多个类的方式.

Luc*_*ore 10

以下是经典之作:

class Animal {
 public:
  virtual void eat();
};

class Mammal : public Animal {
 public:
  virtual void breathe();
};

class WingedAnimal : public Animal {
 public:
  virtual void flap();
};

// A bat is a winged mammal
class Bat : public Mammal, public WingedAnimal {
};
Run Code Online (Sandbox Code Playgroud)

资料来源:维基.

  • 你的示例类中的@LuchianGrigore是可以与接口互通的,它没有任何区别 (2认同)