gpt4 book ai didi

单个文件中的c++循环引用

转载 作者:行者123 更新时间:2023-11-27 22:49:16 24 4
gpt4 key购买 nike

在尝试一些东西时,我想用 c++ shell online 做一个例子只有 1 个文件。

我试着做了一个例子,你通过引用传递它,比如 this :

// Example program
#include <iostream>
#include <string>
class B;
class A{
public:
void passMe(){
B b;
b->handle(*this);
};

void runMe(){
std::cout << "Did run. ";
};
};

class B{
public:
void handle(A& refer){
refer.runMe();
};
};

int main()
{
A a;
a.passMe();
}

但是我有一个循环引用。通常你会预先声明(在 cpp 文件中包含一个),但据我所知,这在给定的例子中是不可能的(你需要使用 1 个文件)。

还有其他选项可以使示例代码正常工作吗?

最佳答案

如何解决?修正拼写错误并稍后定义 passMe

#include <iostream>
#include <string>

class A{
public:
void passMe();
void runMe(){
std::cout << "Did run. ";
};
};

class B{
public:
void handle(A& refer){
refer.runMe();
};
};

void A::passMe() {
B b;
b.handle(*this);
}

int main()
{
A a;
a.passMe();
}

关于单个文件中的c++循环引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39185283/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com