【发布时间】:2015-10-28 14:44:00
【问题描述】:
struct Object{
size_t num;
Object(size_t s){
num = s;
}
Object(string str){
num = 1;
}
Object& operator = (const Object& b){
cout << "assignemnt constructor called" << endl;
return *this;
}
};
int main ()
{
Object b2{ 5 };
Object b3("str");
b2 = b3;
b3 = Object(2); //<-------------how can you set b3 to be Object(2)?
}
我正在尝试将一个对象设置为等于一个新对象。但是在这个例子中 b3 没有改变。可以帮助我了解如何让 b3 成为一个新对象(2)。谢谢
【问题讨论】:
-
好吧,你实现了一个赋值运算符,你得到了你实现的行为。除了你自己,你没有人可以责备。
-
见here
标签: c++ object constructor assignment-operator