-2

我有一个对象人:

class Person
{
...
public:
Person(string firstName, string lastName);
...
}

在我的主体中,我有一个复制构造函数,它应该工作吗?或者我需要确保两个对象之间不共享成员字段?

Person p1("Arthur", "Janes");
Person p2(p1);
4

2 回答 2

1

只要你的类只包含正确的可复制成员,那就没问题了。具体来说,如果它们被存储为std::string那么你很好;如果您要存储指针或引用,则可能存在危险。

于 2013-09-02T15:28:31.117 回答
0

只要您的类成员是可复制的,并且您在类中没有任何其他特定的复制构造函数,您就应该能够使用复制构造函数。定义类时会生成默认的复制构造函数:

https://stackoverflow.com/a/1810320/1270003

于 2013-09-02T15:38:01.897 回答