第十三周 项目四--点、圆的关系(5)
来源:互联网 发布:wifi和数据同时开 编辑:程序博客网 时间:2024/05/30 13:41
问题及代码:
/**Copyright (c) 2015,烟台大学计算机学院*All rights reserved.*文件名称:test.cpp*作者:吴胜男*完成日期:2015年05月28日*版本号:v1.0**问题描述:(5)在圆类上重载关系运算符(6种),使之能够按圆的面积比较两个圆的大小。自编main函数完成测试。*输入描述:*程序输出:*/#include <iostream>#include <cmath>using namespace std;class Point{protected: int x; int y;public: Point(int a=0,int b=0):x(a),y(b){}; ~Point(){}; double distance(const Point &p)const;};double Point::distance(const Point &p)const{ double d; d=sqrt((p.x-x)*(p.x-x)+(p.y-y)*(p.y-y)); return d;}class Circle:public Point{private: double r;//半径public: Circle(int a=0,int b=0,int l=0):Point(a,b),r(l){}; ~Circle(){}; friend ostream &operator <<(ostream &output, const Circle &c); bool operator > (Circle &c); bool operator < (Circle &c); bool operator >= (Circle &c); bool operator <= (Circle &c); bool operator == (Circle &c); bool operator != (Circle &c); friend void compare(Circle &c1,Circle &c2);};bool Circle::operator > (Circle &c){ if(r > c.r) return true; else return false;}bool Circle::operator < (Circle &c){ if(r < c.r) return true; else return false;}bool Circle::operator >= (Circle &c){ if(!(r < c.r)) return true; else return false;}bool Circle::operator <= (Circle &c){ if(!(r > c.r)) return true; else return false;}bool Circle::operator == (Circle &c){ if(r == c.r) return true; else return false;}bool Circle::operator != (Circle &c){ if(!(r == c.r)) return true; else return false;}ostream &operator <<(ostream &output, const Circle &c){ output<<"\t圆心:"<<"("<<c.x<<","<<c.y<<")"<<"\t半径="<<c.r<<endl; return output;}void compare(Circle &c1,Circle &c2){ if(c1<c2) cout<<" 小于"; if(c1>=c2) cout<<" 大于等于"; if(c1>c2) cout<<" 大于"; if(c1<=c2) cout<<" 小于等于"; if(c1==c2) cout<<" 等于"; if(c1!=c2) cout<<" 不等于";}int main( ){ Circle c1(3,2,4),c2(3,2,5); Circle c3(1,2,6),c4(4,5,6); cout<<"圆c1: "<<c1; cout<<"圆c2: "<<c2; cout<<"圆c3: "<<c3; cout<<"圆c4: "<<c4; cout<<"c1"; compare(c1,c2); cout<<"c2"<<endl; cout<<"c3"; compare(c3,c4); cout<<"c4"<<endl; cout<<"c1"; compare(c1,c3); cout<<"c3"<<endl; cout<<"c2"; compare(c2,c4); cout<<"c4"<<endl; return 0;}
运行结果:
知识点总结:运算符重载。
学习心得:做事开开心心的,用功吧。
0 0
- 第十三周 项目四--点、圆的关系(5)
- 第十三周 项目四--点、圆的关系(6)
- 第十三周 项目四--点、圆的关系(1~4)
- 第十三周 项目1--点和圆的位置关系
- 第十三周项目1-点与圆的关系
- 第十三周 项目一 点和圆的关系
- 第十三周项目1--点、圆的关系
- 第十三周项目一-点与圆的位置关系
- 第十三周 项目一 点圆的关系
- 第十三周(项目一)——点、圆的关系。
- 第十二周项目四(1):点、圆的关系
- 第十二周项目四(2):点、圆的关系
- 第十二周项目四(3):点、圆的关系
- 第十二周项目四:点、圆的关系(二)
- 第十二周 项目四 点、圆的关系(1)
- 第十二周 项目四 点、圆的关系(2)
- 第十二周 项目四 点、圆的关系(3)
- 第十三周项目2-点与圆的位置关系&&圆与圆的大小关系
- 关于Eclipse运行安卓项目后,提示INSTALL_PARSE_FAILED_NO_CERTIFICATES Please check logcat output for more det的解决方案
- android studio :代码中的中文注释可能会引起Gradle报乱码
- Java反射&JNI[Java Native Interface](5.28)
- 这些年我踩过的坑——Android
- [dp]poj1458 -Common Subsequence(LCS)
- 第十三周 项目四--点、圆的关系(5)
- 凯云水利水电工程造价管理系统 技术解析(三)项目属性(二)
- 自定义缓冲池,循环利用(仿tableview)
- 今年目标
- 二叉树
- 面试题20顺时针打印矩阵
- 利用长按手势移动TableView中的Cell
- aidl ( 三) 后台service通知前台activity
- java.lang.OutOfMemoryError: PermGen space解决方法