C ++我想做类似Class1.Class2.Fct()的事情

时间:2016-09-20 19:15:15

标签: c++

我是C ++编程的新手,我需要你的帮助:

我们说我有一个班级 - Class1。是否有可能让另一个类(Class2)具有(至少)一个返回(例如)整数的函数?这是一个我想要实现的例子:

std::cout << "I did it: " << Class1.Class2.ReturnINTEGER() << std::endl;

我需要代码与GNU G ++编译器兼容。谢谢:)。

2 个答案:

答案 0 :(得分:1)

#include <iostream>
using namespace std;
class Two
{
public:
    int toReturn;
    Two()
    {
        toReturn=0;
    }

    int returnValue() 
    {
         return toReturn;
    } 
};

class One
{
 public:
     Two foo;
};

int main() 
{
    One bar;
    int toPrint=bar.foo.returnValue();
    cout << toPrint << endl;
} 

答案 1 :(得分:0)

是的,可以做到。让我们解剖或重建。 首先获得Class1.Class2,我们需要一个名为Class2成员类。 Class2需要有一个名为Fct的成员。

这是一个实现:

struct Class2_Object
{
  void Fct(void);
};

struct Class1_Object
{
  Class2_Object Class2;
};

Class1_Object Class1;
Class1.Class2.Fct();