这是我的代码:
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;
}
现在让我感到困惑的是,我必须重载 + 运算符才能使其与 vector 一起工作,但是等号“=”呢?我正在将一个 vector 分配给另一个 vector ,我不应该也重载它吗?还是已经提供给我们了? 谢谢。
最佳答案
如果您的类是默认可分配的(例如,如果它有任何引用成员,则如果您没有特殊工作,它就不会被分配),该语言会自动为您提供默认的 operator=
。它所做的只是分别分配基数和每个成员。
关于c++ - 为什么我不必在 C++ 中重载赋值运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8855654/