体验常成员函数

来源:互联网 发布:有什么好听的网络歌曲 编辑:程序博客网 时间:2024/05/06 08:11
/** 作    者:任子仪* 完成日期:2014年4月1日* 输入描述:* 问题描述:* 程序输出:* 问题分析:*/#include<iostream>#include<cmath>using namespace std;class CPoint{private:    double x;  // 横坐标    double y;  // 纵坐标public:    CPoint(double xx=0,double yy=0):x(xx),y(yy){}    double Distance1(CPoint p) const;   // 两点之间的距离(一点是当前点,另一点为参数p)    double Distance0() const;            // 到原点的距离    CPoint SymmetricAxis(char style) const;//style取'x','y'和'o'分别表示按x轴, y轴, 原点对称    void input();  //以x,y 形式输入坐标点    void output(); //以(x,y) 形式输出坐标点};double CPoint::Distance1(CPoint p)const{    return sqrt((p.x-x)*(p.x-x)+(p.y-y)*(p.y-y));}void CPoint::input(){    cout<<"请输入坐标x,y"<<endl;    cin>>x>>y;}void CPoint::output(){    cout<<"("<<x<<","<<y<<")"<<endl;}double CPoint::Distance0()const{    return sqrt(x*x+y*y);}CPoint CPoint::SymmetricAxis(char style)const{    CPoint p;    if(style=='x')    {        p.y=-y;        p.x=x;    }    else if(style=='y')    {        p.x=-x;        p.y=y;    }    else    {        p.y=-y;        p.x=-x;    }    return p;}int main(){    CPoint c1,c2,c3;    char a;    c1.input();    cout<<"到坐标原点的距离:"<<c1.Distance0()<<endl;    cout<<"求到输入点的距离,";    c2.input();    cout<<"到输入点的距离:"<<c1.Distance1(c2)<<endl;    cout<<"选择输入x,y,o,求其关于x轴,y轴或原点的坐标"<<endl;    cin>>a;    c3=c1.SymmetricAxis(a);    c3.output();    return 0;}

示例图片:


0 0
原创粉丝点击