1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 设计平面坐标点类 计算两点之间距离 到原点距离 关于坐标轴和原点的对称点等

设计平面坐标点类 计算两点之间距离 到原点距离 关于坐标轴和原点的对称点等

时间:2022-07-09 17:03:03

相关推荐

设计平面坐标点类 计算两点之间距离 到原点距离 关于坐标轴和原点的对称点等

#include<iostream>#include<cstdlib>#include<cmath>using namespace std;class CPoint{private:double x; // 横坐标double y; // 纵坐标public:CPoint(double xx=0,double yy=0);double GetX(){return x;}double GetY(){return y;}double Distance(CPoint p) const; // 两点之间的距离(一点是当前点,另一点为参数p)double Distance0() const;// 到原点的距离CPoint SymmetricAxis(const char style);//style取'x','y'和'o'分别表示按x轴, y轴, 原点对称void input(); //以x,y 形式输入坐标点void output(); //以(x,y) 形式输出坐标点};int main(){CPoint aa;aa.input();CPoint bb(4,3);cout<<"点("<<aa.GetX()<<","<<aa.GetY()<<")与"<<"点("<<bb.GetX()<<","<<bb.GetY()<<")距离:"<<aa.Distance(bb)<<endl;cout<<"点("<<aa.GetX()<<","<<aa.GetY()<<")到原点距离:"<<aa.Distance0()<<endl;char c='o';aa.SymmetricAxis(c);cout<<"关于"<<c<<"对称坐标:";aa.output();return 0;}CPoint::CPoint(double xx,double yy):x(xx),y(yy){}double CPoint::Distance(CPoint p) const{return sqrt((x-p.x)*(x-p.x)+(y-p.y)*(y-p.y));}double CPoint::Distance0() const{return sqrt(x*x+y*y);}CPoint CPoint::SymmetricAxis(const char style){switch(style){case 'x':y=-y;break;case 'y':x=-x;break;case 'o':x=-x;y=-y;break;default :cout<<"输入错误。。。"<<endl;}return *this;}void CPoint::input(){x=3;y=4;}void CPoint::output(){cout<<"("<<GetX()<<","<<GetY()<<")"<<endl;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。