【发布时间】:2017-10-09 16:45:25
【问题描述】:
#include <iostream>
class A{
};
class B: public A{
public:
B(A&& inA){
std::cout<<"constructor"<<std::endl;
}
};
int main(){
B whatever{A{}};
whatever=A{};
}
这个输出
constructor
constructor
至少使用 C++14 标准和 GCC。如何定义赋值运算符可以导致调用构造函数而不是operator=?赋值运算符的这个属性有名字吗?
【问题讨论】: