C/C++_log2000_继承的练习1

本文介绍了一个简单的C++程序,该程序定义了`Point`和`Line`两个类,通过这些类可以创建点和线段,并计算线段的长度。`Point`类用于表示二维坐标系中的点,而`Line`类继承自`Point`类,用于表示由头点和尾点组成的线段,并提供了计算线段长度的方法。
//coded by S.gy.Zetrov
#include<iostream>
#include<cmath>
using namespace std;
//////////////////////////////////////////////////////////
class Point
{
    int x,y;
public:
    Point(int a=0,int b=0){SetPoint(a,b);}
    void SetPoint(int a,int b);
    //设置点的坐标值
    int getX(){return x;}
    int getY(){return y;}
    void Print(Point &p);
    //显示点的坐标值
};
void Point::Print(Point &p){
    cout<<"("<<p.getX()<<","<<p.getY()<<")"<<endl;
}
void Point::SetPoint(int a,int b)
{
    x = a;
    y = b;
}
////////////////////////////////////////////////////////
class Line :public Point
{
public:
    Line(int a,int b,int c,int d){
        HeadPoint.SetPoint(a,b);
        EndPoint.SetPoint(c,d);
        //cout<<"Line construvtor!"<<endl;
    }
    double Length(){
        double xx = static_cast<double>(HeadPoint.getX() - EndPoint.getX());
        double yy = static_cast<double>(HeadPoint.getY() - EndPoint.getY());
        return sqrt(xx * xx + yy * yy);
    }
    int Print(){
        cout<<"HeadPoint: "<<"["<<HeadPoint.getX()<<","<<HeadPoint.getY()<<"]"<<";";
        cout<<"EndPoint: "<<"["<<EndPoint.getX()<<","<<EndPoint.getY()<<"]"<<endl;
    }
private:
    Point HeadPoint,EndPoint;
    double xx,yy;
};
///////////////////////////////////////////////////////
int main()
{
    Line line(1,1,10,10);
    cout<<"Line line:";
    line.Print();
    cout<<"line's length:";
    cout<<line.Length()<<endl;
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值