C++ 运算符重载与错误处理:从基础到实战
1. 一元运算符与二元运算符
在 C++ 里,运算符函数的声明有不同要求。二元运算符函数必须在文件作用域声明,而一元运算符函数既可以在文件作用域声明,也能作为结构体或类的成员函数声明。
2. 重载关系运算符
关系运算符返回布尔值,重载的关系运算符可以是二元(作为全局函数)或一元(作为成员函数)。为了给 Point2d 结构体增加一些关系运算能力,下面展示小于( < )、大于( > )、等于( == )和不等于( != )运算符的实现,包括作为独立运算符函数和成员运算符函数的实现。
2.1 全局版本
在文件作用域(全局)声明的这些函数的独立版本都是二元的,接受两个参数。以下是这四个全局版本运算符的声明:
bool operator<(const Point2d& p1, const Point2d& p2);
bool operator>(const Point2d& p1, const Point2d& p2);
bool operator==(const Point2d& p1, const Point2d& p2);
bool operator!=(const Point2d& p1, const Point2d& p2);
这些运算符的实
超级会员免费看
订阅专栏 解锁全文
546

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



