C++ 只允许重载 =
运算符作为成员函数而不是全局函数。
Bruce Eckel 说,如果可以全局定义 operator=,那么您可能会尝试重新定义内置的 = 符号。
,由于这个原因,您只能将 = 运算符重载为成员函数。
如果 C++ 已经定义了 =
运算符,那么为什么其他运算符如 +
-
等...没有被 C++ 定义,因为它们可以作为非成员函数重载。 ?
最佳答案
编译器为所有未定义自己的类生成默认的复制赋值运算符 (operator=)。这意味着在任何情况下都不会选择全局重载。
关于c++ - 重载运算符 = 作为成员函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8718025/