是否可以在类定义中创建类的对象,而无需使用默认构造函数

xcr*_*ypt 1 c++ constructor

是否可以在类定义中创建类的对象而不使用默认构造函数?

class Vector3D {
public:
Vector3D(int x, int y, int z);
virtual ~Vector3D();

private:
int m_X;
int m_y;
int m_z;
};

class CustomClass {
private:
Vector3D m_Vec(50,50,50); //error
};
Run Code Online (Sandbox Code Playgroud)

NPE*_*NPE 5

是的,这可以做到,但语法不同:

class Vector3D {
public:
Vector3D(int x, int y, int z);
virtual ~Vector3D();

private:
int m_X;
int m_y;
int m_z;
};

class CustomClass {
private:
Vector3D m_Vec;

public:
CustomClass(): m_Vec(50,50,50) {}
};
Run Code Online (Sandbox Code Playgroud)