我正在尝试在不同的 cpp 文件中实现一个类。我知道如果成员函数是独立的,那么在 C++ 中这样做是合法的。然而,其中一个成员函数使用另一个成员函数,例如在这种情况下:
在function1.cpp中
#include "myclass.h"
void myclass::function1()
{
function2();
}
在function2.cpp中
#include "myclass.h"
void myclass::function2()
{
....
}
我会得到一个未定义的对 function2 的引用的错误。添加这个指针也不起作用。我需要在function1.cpp中以某种方式声明它吗?谢谢~
头文件包含两个函数的声明。它在函数 1 和函数 2 在同一个文件中时有效,但在我将它们分开时无效。我也相信我已经在项目中添加了两个 cpp。顺便说一句,我正在使用 Qt 创建器。
最佳答案
只要 myclass.h
包含类的定义和成员函数的声明,就可以了。示例:
//MyClass.h
#ifndef XXXXXXXX
#define XXXXXXXX
class MyClass
{
public:
void f1();
void f2();
};
#endif
//MyClass1.cpp
#include "MyClass.h"
void MyClass::f1()
{
};
//MyClass2.cpp
#include "MyClass.h"
void MyClass::f2()
{
f1(); //OK
}
关于c++ - 多个文件中的类实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6939890/