这里是我的代码:为什么我不得不在C++中重载赋值运算符?
class Example {
...declarations/definitions...
};
Example operator + (Example e)
{
Example temp;
...do addition...
return temp;
}
//main
void main()
{
Example a(1,2);
Example b(3,4);
Example c;
c = a+b;
}
现在是什么让我困惑的是,我不得不超负荷+运营商为它与向量工作,但如何对等于“=”号?我正在分配一个向量到另一个,我不应该超载吗?还是它已经提供给我们? 谢谢。
该定义看起来像一元'+'算子,而不是加法。 – Pubby 2012-01-13 18:56:35
@Azza,关闭,但不完全。它分配每个成员,但不是按位。此外,编译器会自动创建默认构造函数,析构函数,移动构造函数和移动赋值运算符。 – 2012-01-13 18:58:23