简体   繁体   English

复制构造函数中的C ++用户定义成员

[英]c++ user defined member in copy constructor

class A
{
std::string name;
public:
A(const A & rhs)
{
name = rhs.name;
}
};

In copy constructor of class A above, will the assignment operator of string class is called or copy constructor of string class? 在上面的类A的副本构造函数中,将调用字符串类的赋值运算符还是字符串类的副本构造函数?

name data member is not defined yet, so wouldn't the copy constructor be called? 名称数据成员尚未定义,因此不会调用复制构造函数吗?

Assignment operator. 赋值运算符。 If you want copy constructor: 如果要复制构造函数:

A(const A& rhs)
: name(rhs.name)
{
}

将调用默认的(编译器生成的)赋值运算符,该运算符将按成员进行赋值

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM