C++运算符重载
2014-06-05 23:20
302 查看
c++的一大特性就是重载(overload),通过重载可以把功能相似的几个函数合为一个,使得程序更加简洁、高效。在c++中不止函数可以重载,运算符也可以重载。由于一般数据类型间的运算符没有重载的必要,所以运算符重载主要是面向对象之间的。
运算符的重载可以说是一个比较实用而且灵活的方法,掌握了运算符重载的方法,对于以后一些复杂的问题的解决是有帮助的,本篇将利用对Circle对象的排序的方法对重载进行分析。
通过上述代码,在对圆的半径进行排序时即可简单的利用<、>、<=、>=、==对实例排序。
运算符的重载可以说是一个比较实用而且灵活的方法,掌握了运算符重载的方法,对于以后一些复杂的问题的解决是有帮助的,本篇将利用对Circle对象的排序的方法对重载进行分析。
#pragma once class Circle { public: Circle(void); Circle(double radius); ~Circle(void); double getRadius(); void setRadius(double radius); double getArea(); bool operator == (Circle &c ); bool operator != (Circle &c); bool operator< (const Circle &c1); bool operator <= (Circle &c); bool operator > (Circle &c); bool operator>= (Circle &c); private: double radius; };
#include "Circle.h" Circle::Circle(void) { radius = 0; } Circle::Circle(double radius) { this->radius = radius; } double Circle::getRadius() { return radius; } void Circle::setRadius(double radius) { this->radius = radius; } double Circle::getArea() { return 3.14*radius*radius; } bool Circle::operator== (Circle &c ) { return this->radius<c.radius; } bool Circle::operator != (Circle &c) { return this->radius<c.radius; } bool Circle::operator< (const Circle &c ) { return this->radius<c.radius; } bool Circle::operator <= (Circle &c) { return this->radius<c.radius; } bool Circle::operator > (Circle &c) { return this->radius<c.radius; } bool Circle::operator>= (Circle &c) { return this->radius<c.radius; } Circle::~Circle(void) { }
通过上述代码,在对圆的半径进行排序时即可简单的利用<、>、<=、>=、==对实例排序。
相关文章推荐
- 关于c++运算符重载 + 和 ++ 运算符 【2013.10.18】
- C++运算符重载例子代码
- c++运算符重载总结
- [置顶] # c++运算符重载之 前置++, 后置++, 负号运算符, 类型转换函数, 以及输入输出运算符
- C++运算符及其重载问题
- C++运算符重载(成员函数方式)
- c++运算符重载,输出符 4000 号重载
- C++运算符重载小程序
- C++运算符重载(operator)
- c++运算符重载
- C++运算符重载的方法
- C++运算符重载的方法详细解析
- c++运算符重载---20
- c++运算符重载和友元函数
- 一个有趣的程序:C++运算符重载中的“指鹿为马”
- C++运算符重载(转载)
- C++运算符重载
- C++运算符重载的妙用
- c++运算符重载以及一些基本概念
- C++运算符重载讲解与经典实例