说,我有一个名为Ninja的类.h文件
我有两个成员函数,默认名称设置为Ninja master,disple_ child设置为nullptr
下面是我班上公共/私人的摘录:
private:
std::string name_;
std::shared_ptr<Ninja> disciples_;
public:
Ninja(std::string name = "Ninja Master")
: name_{name},
disciples_{std::shared_ptr<Ninja>(nullptr)}
{}
~Ninja() = default;
Ninja(const Ninja& copy2); //trying to make a copy constructor here
Ninja& operator=(const Ninja&); // I also need help creating an assignment operator too
我想创建一个深层复制构造函数,但出现错误。
下面是.cpp文件中我的深层复制构造函数的代码段。
Ninja::Ninja(const Ninja& copy2) {
Ninja a();
a = copy2; //error cannot convert const Ninja to Ninja() in assignment
}
[Ninja a();
声明一个函数。
您可以执行以下操作-
深层复制构造函数的示例: