这是一个基础问题,但是让我很难受。我有一个类A
,在头文件中,我想定义另一个来自另一个头文件的类构造函数B
。我尝试了下面的代码,但我确定那不是正确的方式。
A.h
class A{
public:
A();
B b(); //Constructor from another Class that defined in another header file
void Operation();
};
我需要在 A.h
中调用构造函数 B
,这样我就可以在构造函数 A
中调用构造函数 B
,并且在 A::Operation()
中使用类 B
的函数。
A.cpp
#include "A.h"
#include "B.h"
A::A{
b(); //call constructor b
}
void A::Operation(){
b.someFunction(); //use function from class B, error here
}
正如预期,我遇到的错误出现在b.someFunction()
处。
表达式必须具有类类型
有人知道如何在另一个类头文件中正确定义另一个类的构造函数?并且如何在主类构造函数内调用另一个构造函数,并全局使用其他类的函数?对于这个基础而令人困惑的问题,很抱歉。
B b();
是一个函数声明。 - Ayxan Haqverdili