0

这是我设计的照片。抱歉没有说得很清楚。

在此处输入图像描述

A类中的内容是普遍的。B、C、D、E、F 类包含其他自定义函数。通过使用这种类型的类组合,我可以解决 8 个问题。

以排列问题为例。是第一个,称为 G。从 B、C 和 E 中获取信息并将它们组合起来,以便解决问题。

问题是......我不知道如何组合它们。

这是具有功能的表。 在此处输入图像描述

对不起我的白板。它很旧,我没有任何其他纸张。

谢谢你。

4

1 回答 1

1

看来你我都忙于几乎相同类型的继承结构。我所做的基本上如下。您将贯穿继承的函数定义为它们所在的所有类的私有函数。然后当它们被调用时,您可以执行以下操作:

class A
{ private:
   int z;
public:
 ...constructors and destructors for A...
void print() const;
};

A.cpp

#include "A.h"
void A::print() const
{
   cout << "This class contains an int with value " << z << endl;
}

B.cpp

#include "A.h"
class B : public A
{
private:
   int i;
public:
...constructors and destructors...
void print() const;
};

B.cpp

#include "B.h"

void B::example() const
{
    cout << "This class contains ant with value: " << i << endl;
    A::print();
}

这样,当您在 B 类型的对象上调用 print() 函数时,它不仅会打印它的成员变量,还会打印它的基类的成员变量,因为您调用了该函数。

您也可以尝试使用虚函数

http://www.cplusplus.com/doc/tutorial/polymorphism/

希望这有点像您正在寻找的东西。

于 2013-10-20T16:52:29.547 回答