我如何在c ++中稍后转发类的声明并使用其成员函数?

帮我

是否可以向前声明一个类,然后使用其成员函数?我正在尝试这样做:

class Second;

class First{
private:
  int x=0;
public:
  void move(Second* s,int i){
   s->setLine(i);
   s->called(true);
  }
  int getX(){return x;}
}

class Second{
private:
 int line=2;
 bool cal=false;
public:
 void setLine(int l){line = l;}
 void called(bool b){cal=b}
 bool interact(First* f){
  if ((f->getX())>3)
     return true;
  else
     return false;
 }
}

我的实际问题稍微复杂一点,并且这些函子可以做更多的事情,但是我想做的是让这两个类互相使用函子并以这种方式进行交互。有谁知道有没有办法做到这一点?

艾伦·斯托克斯

您可以在的定义之后First::move将类的定义放到类之外Second仅声明需要出现在的定义内First

实际上,您可以将First::move.cpp文件中的定义而不是任何标头中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我的模板类中的C ++成员函数未声明错误

如何在 Python-3 中的成员函数声明中使用类变量?

如何在C ++中从其自己的定义递归调用类成员函数?

如何访问超类的受保护成员到其派生类。如果在派生类中已经声明了同名的函数?

如何使用模板声明成员函数?(不是模板类)

如何使用前向声明类的成员函数?

我该如何在C中相乘?

我如何在C ++中使用xml?

我如何在 C 中使用 if 语句?

如何在组件中声明变量以供稍后使用?

如何在启动 Django 服务器后创建一个类并稍后在 views.py 中访问其成员

我如何在c中执行()我的程序?

我如何在C中运行时定义函数

我如何在 C++ 中声明一个类

如何在我的所有类中应用元类而不在类声明中对其进行硬编码

如何在类函数中声明const

如果变量在类外的函数中声明,我如何在类内定义变量

我如何在C#中访问C:\ Program Files \

如何在c#gui中调用我的c ++程序?

如何在构造函数中创建数组,稍后将使用

我如何在C中使用进程中的线程数组

如何在Powershell 5类中声明静态成员?

如何在声明为const的方法中更改类成员

如何在 C++ 中声明一个零初始化的类成员?

如何使用函数更新c ++类成员?

我如何在C ++中的catch块中处理异常

如何在C ++ 11中初始化未初始化其构造函数中所有成员的类

我如何在 c 中解析這個文件

我如何在C ++中更改对象的值类型