我想做一些类似Class1.Class2.Fct()的东西

C++ I want to do something like Class1.Class2.Fct()

本文关键字:Fct Class2 Class1      更新时间:2023-10-16

我是c++编程新手,需要您的帮助:

假设我有一个班——Class1。是否有可能有另一个类(Class2),它(至少)有一个函数返回(例如)整数?下面是一个I want to achieve的例子:

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

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

#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;
} 

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

下面是一个实现:

struct Class2_Object
{
  void Fct(void);
};
struct Class1_Object
{
  Class2_Object Class2;
};
Class1_Object Class1;
Class1.Class2.Fct();