我有一个家庭作业,我有点困惑。该赋值基本上表明我们将使用Multiple Inheritance / Polymorphism以分层方式生成21个类。我知道层次结构应该如何在纸上看,但我想知道我应该使用什么语法。
前几个例子是有机体(“树”的头,动物(有机体的孩子),植物(有机体的孩子),Ectotherm(动物的孩子),Endotherm(动物的孩子)等......
如果您想查看实际作业,请点击此链接。 Homework 10
我不需要确切的代码,但有助于使用虚拟语法,这将非常感激。谢谢:D
答案 0 :(得分:1)
刚开始使用基类并从中派生出来。使用您描述的类树,您不需要虚拟基础。但是你可能想在你的类中添加一些功能,所以我给你举个例子:
class Organism // abstract class (no instantiation)
{
public:
virtual string getName() = 0; // because this method is pure (no body)
};
class Animal : public Organism {}; // also abstract
class Dog : public Animal // not abstract
{
public:
string getName() { return "dog"; } // because here's an implementation
};
我知道这个网站不是为了做作业,但也许它不仅有助于你,也有助于你的同学= D