【问题标题】:how to derive a class from another in c++?如何在 C++ 中从另一个类派生一个类?
【发布时间】:2013-05-17 19:11:24
【问题描述】:

我正在尝试建立一个我拥有的游戏列表。我有一个名为 gameCommon 的类

class gameCommon
{
public:
string name;
int price;
}

这是所有游戏的共同信息。现在下一部分是构建另一个类,它将根据它是什么类型的游戏来保存信息? (CD/DVD、磁带等)

如果是 CD/DVD,类将是这样的,

class childClassOf_gameCommon
{
public:
int NumOfDisks;
}

等等。但问题是,列表本身将位于父类的向量中。像vector<gameCommon*> 这样的东西。那么我如何派生childClassOf_gameCommon,以便vector<gameCommon*> 的列表将包含gameCommon 的属性,并根据类型,附加信息,如numOfDisks.. 抱歉造成混淆。

【问题讨论】:

  • 您应该诚实地从一本好的 C++ 书开始。 class DerivedGame : GameCommon
  • "child" 是派生类的可怕隐喻...
  • 我第二次推荐@Joe a good book
  • 您可能需要考虑使用数据库而不是自己编写。

标签: c++ class pointers vector


【解决方案1】:

像这样:

class Derived : public gameCommon
{
public:
    int NumOfDisks;
    // ....

gameCommon* 类型的指针可以合法地指向Derived

(但正如 cmets 所指出的,您应该尝试多学习一点理论。边做边学很好,但您需要了解更多基础知识,否则您会发现这是一场艰苦的斗争。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-05
    • 2016-12-12
    • 2022-11-28
    • 2015-08-25
    • 2021-04-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多