我有一个类有几个对象作为成员变量.我不希望在声明时调用这些成员的构造函数,所以我试图明确地挂起指向该对象的指针.我不知道我在做什么.O_O
在StackOverflow上,我似乎能够找到对象成员变量的其他示例,但通常会立即调用构造函数,如下所示:
class MyClass {
public:
MyClass(int n);
private:
AnotherClass another(100); // this constructs AnotherClass right away!
};
Run Code Online (Sandbox Code Playgroud)
但我希望MyClass构造函数调用AnotherClass构造函数.这是我的代码的样子:
BigMommaClass.h
#include "ThingOne.h"
#include "ThingTwo.h"
class BigMommaClass {
public:
BigMommaClass(int numba1, int numba2);
private:
ThingOne* ThingOne;
ThingTwo* ThingTwo;
};
Run Code Online (Sandbox Code Playgroud)
BigMommaClass.cpp
#include "BigMommaClass.h"
BigMommaClass::BigMommaClass(int numba1, int numba2) {
this->ThingOne = ThingOne(100);
this->ThingTwo = ThingTwo(numba1, numba2);
}
Run Code Online (Sandbox Code Playgroud)
这是我尝试编译时遇到的错误:
g++ -Wall -c -Iclasses -o objects/BigMommaClass.o classes/BigMommaClass.cpp
In file included from classes/BigMommaClass.cpp:1:0:
classes/BigMommaClass.h:12:8: error: declaration of âThingTwo* BigMommaClass::ThingTwoâ
classes/ThingTwo.h:1:11: error: changes …Run Code Online (Sandbox Code Playgroud)