我有一个对象人物:
class Person
{
...
public:
Person(string firstName, string lastName);
...
}
在我的主要内容中,我有一个复制构造函数,它应该有效吗? 或者我需要确保两个对象之间不共享成员字段?
Person p1("Arthur", "Janes");
Person p2(p1);
答案 0 :(得分:1)
只要您的班级只包含正确的可复制成员,那就没关系。具体来说,如果它们存储为std::string
那么你就是好的;如果你存储指针或引用,那么可能存在危险。
答案 1 :(得分:0)
只要您的类成员可以复制,并且您在类中没有任何其他特定的复制构造函数,您就应该能够使用复制构造函数。定义类时会生成默认的复制构造函数: