C++ 运算符重载全解析
1. 引言
C++ 拥有丰富的 45 个运算符,这些运算符会自动为基本类型(如 int、float 等)定义。当定义一个类时,实际上是在创建一个新的类型,大多数 C++ 运算符都可以重载以应用于新的类类型。
2. 重载赋值运算符
在所有运算符中,赋值运算符 = 可能是使用最频繁的,其目的是将一个对象复制到另一个对象。和默认构造函数、复制构造函数以及析构函数一样,赋值运算符会为每个定义的类自动创建,但也可以在类定义中显式定义。
示例 9.1:为 Rational 类添加赋值运算符
class Rational {
public:
Rational(int = 0, int = 1); // 默认构造函数
Rational(const Rational&); // 复制构造函数
void operator=(const Rational&); // 赋值运算符
// 其他声明
private:
int num;
int den;
};
void Rational::operator=(const Rational& r) {
num = r.num;
den = r.den;
}
这里的赋值运算符函数将对象 r 的成员数据复制到调用该函数的对象中。
超级会员免费看
订阅专栏 解锁全文
48

被折叠的 条评论
为什么被折叠?



