第四周项目 1 体验常成员函数
来源:互联网 发布:行业研究员 知乎 编辑:程序博客网 时间:2024/05/16 11:12
/** Copyright (c) 2015, 烟台大学计算机学院* All rights reserved.* 文件名称:main.cpp* 作 者 :韩娟* 完成日期 :2015年4月8日* 版 本 号 :v1.0* 问题描述 :设计平面坐标点类,计算两点之间距离、到原点距离、关于坐标轴和原点的对称点等* 输入描述 : 两个坐标点* 程序输出 :按要求输出*/#include <iostream>#include <cmath>#include <cstdlib>using namespace std;class CPoint{private: double x; // 横坐标 double y; // 纵坐标public: CPoint(double xx=0,double yy=0); double Distance1(CPoint p) const; //两点之间的距离(一点是当前点——想到this了吗?,另一点为p) double Distance0() const; // 到原点(0,0)的距离 CPoint SymmetricAxis(char style) const;//style取'x','y'和'o'分别表示按x轴, y轴, 原点对称 void input(); //以x,y 形式输入坐标点 void output(); //以(x,y) 形式输出坐标点};void CPoint::input(){ char ch; cout<<"请输入坐标,格式(x,y):"; while(cin>>x>>ch>>y) { if(ch!=',') cout<<"你输入的格式不对哦,请重新输入。"; else break; }}void CPoint::output(){ cout<<"("<<x<<","<<y<<")";}double CPoint::Distance0() const// 到原点(0,0)的距离{ double d; d=sqrt(x*x+y*y); return d;}double CPoint::Distance1(CPoint p) const//两点之间的距离(一点是当前点——想到this了吗?,另一点为p){ double d; d=sqrt((p.x-this->x)*(p.x-this->x)+(p.y-this->y)*(p.y-this->y)); return d;}CPoint CPoint::SymmetricAxis(char style) const//style取'x','y'和'o'分别表示按x轴, y轴, 原点对称{ CPoint p(x,y); switch(style) { case'x': p.x=x; p.y=-y; break; case 'y': p.x=-x; break; case 'o': p.x=-x; p.y=-y; } return p;}CPoint::CPoint(double xx,double yy){ xx=x; yy=y;}int main(){ double distance; CPoint p1,p2,p; cout<<"请输入第一个点p1:"; p1.input(); cout<<"请输入第二个点p2:"; p2.input(); distance=p1.Distance1(p2); cout<<"p1与p2的距离为:"<<distance<<endl; distance=p1.Distance0(); cout<<"p1为原点的距离为:"<<distance<<endl; p=p1.SymmetricAxis('x'); cout<<"p1关于x轴的对称点为:"; p.output(); cout<<endl; p=p1.SymmetricAxis('y'); cout<<"p1关于y轴的对称点为:"; p.output(); cout<<endl; p=p1.SymmetricAxis('o'); cout<<"p1关于原点的对称点为:"; p.output(); return 0;}
知识点总结 :
this指针是这个项目要明白的一个很重要的点。
学习心得 :
没有想到还有一个隐含的this指针。
0 0
- 第四周项目1——体验常成员函数
- 第四周项目 1 体验常成员函数
- 第四周 项目一:体验常成员函数
- 第四周项目一 体验常成员函数
- 第四周项目一体验常成员函数
- 第四周项目一体验常成员函数
- 第5周项目1-体验常成员函数
- 第5周项目1 体验常成员函数
- 2015-第5周项目1-体验常成员函数
- 第5周项目1-体验常成员函数
- 第5周项目1-体验常成员函数
- 第5周项目1-体验常成员函数
- 第5周项目1-体验常成员函数
- 第5周项目1体验常成员函数
- 项目1-体验常成员函数
- 项目1--体验常成员函数
- 【项目1-体验常成员函数】
- 【项目1-体验常成员函数】
- APN
- 基础总结篇之一:Activity生命周期
- 使用Python运算一个字符串表达式
- objective-c基础教程——学习小结
- CodeForces 31E TV Game(dp)
- 第四周项目 1 体验常成员函数
- 递归函数与迭代的比较(以n的k次幂为例)
- 【FOJ 1164】 Average is not Fast Enough!
- DD命令 用法
- 无限循环自动图片轮播器,可伸缩式header bar
- WEB spring schedule 实现定时执行
- 【C++】C++ primer第2章总结
- error while loading shared libraries的解決方法
- AngularJS-常用指令