2015年第五周项目一:体验常成员函数
2015-04-07 10:35
316 查看
#include<iostream> #include<cmath> 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::output() { cout<<"("<<x<<","<<y<<")"<<endl; } void CPoint::input() { cin>>x>>y; } CPoint CPoint::SymmetricAxis(char style) const { CPoint p(this->x,this->y);//用复制构造函数时,写作p(*this) switch(style) { case 'x': p.y=-y; break; case 'y': p.x=-x; break; case 'o': p.x=-x;p.y=-y; } return p; } double CPoint::Distance0() const { double dis; return dis=sqrt(x*x+y*y); } double CPoint::Distance1(CPoint p)const { double dis; return dis=sqrt((p.x-x)*(p.x-x)+(p.y-y)*(p.y-y)); } CPoint::CPoint(double xx,double yy) { x=xx; y=yy; } int main() { CPoint c1,c3; cout<<"请输入第一个点:"; c1.input(); CPoint c2; cout<<"请输入第二个点:"; c2.input(); cout<<"两点间的距离为:"<<c1.Distance1(c2)<<endl; cout<<"第一个点与原点的距离为:"<<c1.Distance0()<<endl; c3=c1.SymmetricAxis('x'); cout<<"第一个点关于x的对称点为:"; c3.output(); c3=c1.SymmetricAxis('y'); cout<<"第一个点关于y的对称点为:"; c3.output(); c3=c1.SymmetricAxis('0'); cout<<"第一个点关于原点的对称点为:"; c3.output(); return 0; }
相关文章推荐
- 第五周项目1体验常函数成员
- 第五周 项目一-体验成员函数
- 第五周项目一之体验常成员函数
- 第五周 项目一 体验常函数成员
- 第五周项目体验常成员函数
- 第5周项目1-体验常成员函数
- 第五周项目一—三角形类定义成员函数
- 2015年第六周项目四:成员函数、友元函数和一般函数有区别
- 第五周项目 4 成员函数、友元函数和一般函数有区别
- 2015年第五周项目二:对象作为数据成员
- 第五周 项目2 对象作为成员函数
- 项目一:体验常成员函数
- 第七周项目二-----体验成员函数
- 项目1——体验成员函数、友元函数和一般函数的区别
- 第五周项目 4 成员函数、友元函数和一般函数有区别(1)
- 2015年大一下第5周项目4-成员函数、友元函数和一般函数有区别
- 第五周项目四成员函数
- 2015年第五周项目四:静态数据成员
- 15第五周项目二——对象作为成员函数
- 第七周 项目2 体验常成员函数