使用另一个类中的函数而不使用#include
Using a function from another class without using #include
在其中一个类中,我需要使用另一个类的函数一次。我想知道是否有其他方法可以在不使用页面顶部的#include"OtherFunction.h"的情况下调用该类。我想我可以使用OtherFunction::,但当我这样做时,eclipse会给我一个错误。有没有其他方法可以从另一个类调用此函数,而不使用#include或添加继承的额外开销?
这些类不是静态的。我正在编写单元测试,当我在驱动程序类中测试调用我的支持类的函数时,我遇到了一个重新声明错误。因此,我试图找到一个解决方案,在那里我可以测试支持类和驱动程序类中的函数。
我所有的班级都被包围了
#ifndef SHAREDSCANNINGFUNCTIONS_H_
#define SHAREDSCANNINGFUNCTIONS_H_
#endif
因此,内联函数需要在#endif之前。每天学习一些新东西。感谢所有帮助
不,这是不可能的。你为什么要那样做?写#include的成本是多少?
更准确地说,如果你不告诉文件在哪里可以找到它,你的文件怎么会知道你的类定义?
编辑:@Gonmator一个人不应该这样做,这很糟糕。在cpp文件中包含类定义是很可怕的。唯一可以做到这一点的时刻是该类仅由该文件使用。那么它应该是静态
第2版:嗯,我不知道如何把代码放在注释中。Se,我想说:
#ifndef __YOURFILENAME_H__
#define __YOURFILENAME_H__
class myclass{}
#endif
看起来你遇到了这样的问题:
//classA.hh
class A{
B instanceofB;
}
//classB.hh
class B{
A instanceofA;
}
这样做会产生一些问题。编译器说"错误:使用了不完整的废话…"
您所要做的就是在类定义的顶部添加类名,如下所示:
//classA.hh
class B;
class A{
B instanceofb;
}
//classB.hh
class A;
class B{
A instanceofA;
}
第3版:看起来我不明白这个问题。但我的答案仍然是正确的。
相关文章:
- "error: no matching function for call to"构造函数错误
- 什么时候调用组成单元对象的析构函数
- 继承函数的重载解析
- 为什么随机数生成器不在void函数中随机化数字,而在main函数中随机化
- C++模板来检查友元函数的存在
- 递归函数计算序列中的平方和(并输出过程)
- 对RValue对象调用的LValue ref限定成员函数
- C++17复制构造函数,在std::unordereded_map上进行深度复制
- 在 void 函数中使用 #include 变量C++
- 实现递归函数,避免由 C++ 中 include 的循环调用(没有 #pragma 一次)引起的无限循环输入
- 如何 #include 作为函数参数的字符串?c ++
- 带有 #include< iostream.h> 的程序允许使用 strlen() 等字符串函数。为什么?
- 如何确定函数来自哪个include头文件
- friend函数和include循环
- 在c++中使用#include访问在其他文件中声明的函数
- 返回但不使用该类型的 C++ 函数是否需要 #include 该类型?
- 编译器会删除未使用的函数、定义、变量、宏、include等吗?
- 使用另一个类中的函数而不使用#include
- 函数原型vs cpp中的include头
- 用枚举定义成员函数不需要Include