当元素在类中不存在时,如何实现复制构造函数?

Sir*_*lot 0 c++ copy-constructor

例如,您的构造函数可能如下所示:

myClass::myClass(Mesh &mesh) : baseClass(mesh) 
{
    pointer = new Thing(mesh);
}
Run Code Online (Sandbox Code Playgroud)

mesh没有保存在myClass中,也没有在baseClass中保存的网格的getter.这只是必须在基类中实现getter的情况吗?

例如,你不能这样做:

myClass::myClass(const myClass& original) : baseClass(mesh) //there is no mesh
{
    pointer = new Thing(mesh); //mesh is no longer in the parameter list
} 
Run Code Online (Sandbox Code Playgroud)

编译器在为这些类创建默认复制构造函数时如何制作此副本?或者这是一个需要复制构造函数的情况?网格不是大脑的私人成员,并且没有吸气剂,所以我们如何制作新的东西?

编辑 - 通过添加更新问题 Thing

iam*_*ind 6

mesh必须在baseClass复制构造函数中复制.

class baseClass
{
  Mesh myMesh;
public:
  baseClass(const baseClass &other) : myMesh(other.myMesh) {} // <--- copy Mesh
};

class myClass : public baseClass
{
public:
  myClass(const myClass& other) : baseClass(other) {} // <--- simply pass
};
Run Code Online (Sandbox Code Playgroud)