我对C++对象感到非常困惑。如果一个对象必须使用参数进行初始化(大多数对象都是这样的),那么我应该创建带有参数的构造函数,并因此在存储它们时始终创建指向我的对象的指针,还是应该有一个空构造函数和一个Init()方法,它需要初始化对象所需的参数,以便我可以为我的对象拥有非指针字段?
编辑:我的意思是这个:
//A.h
class A
{
public:
A(int x);
}
//B.h
class B
{
private:
A myobject;
}
会抛出 IntelliSense 错误: 类 "A" 没有默认构造函数
因此,我可以这样做:
//B.h
class B
{
private:
A* myobject;
}
或者
//A.h
class A
{
public:
A(void);
void Init(int x);
}
哪个是正确的做法?
public: Shader shader;
- pixartistClassName
没有提供默认构造函数时,我该如何使用ClassName t
?” - user229044