关系运算符重载
Posted wanghao-boke
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关系运算符重载相关的知识,希望对你有一定的参考价值。
C++语言支持各种关系运算符重载(<,>,>=,<=,==),他们可用于比较C++内置的数据类型。
支持重载任意一个关系运算符,重载后的关系运算符可以用于比较类的对象。
/*** overrealate.cpp ***/ #include<iostream> using namespace std; class Distance private: int feet; int inches; public: Distance() feet = 0; inches = 0; Distance(int f,int i) feet = f; inches = i; void displayDistance() cout << "F: " << feet << " I: " << inches << endl; Distance operator- () feet = -feet; inches = -inches; return Distance(feet,inches); bool operator <(const Distance& d) if(feet < d.feet) return true; if(feet == d.feet && inches < d.inches) return true; return false; ; int main() Distance D1(11,10), D2(5,11); if(D1 < D2) cout << "D1 is less than D2 " << endl; else cout << "D2 is less than D1" << endl; return 0;
运行结果:
exbot@ubuntu:~/wangqinghe/C++/20190808$ ./overrelation
D2 is less than D1
以上是关于关系运算符重载的主要内容,如果未能解决你的问题,请参考以下文章
C++读书笔记之 关系运算符重载 大于号; 小于号< 等于号== 重载 overload
C++ 继承多态关系中的赋值运算符的重载=operator()
C++ 继承多态关系中的赋值运算符的重载=operator()
重载运算与类型转换——基本概念,输入和输出运算符,算术和关系运算符,赋值运算符,下标运算符,递增和递减运算符,成员访问运算符