首页 > 其他 > 详细

点线类(使用继承的方式实现)

时间:2021-06-06 16:42:26      阅读:22      评论:0      收藏:0      [点我收藏+]
#include <bits/stdc++.h>
using namespace std;
class Dot
{
    public:
        float x,y;//公有的数据成员
        Dot(float a=0,float b=0) 
        {
            x=a;
            y=b;
        }//构造函数
        void show()
        {
            cout<<"x="<<x<<\t<<"y="<<y<<endl;
        } //公有成员函数,在类内定义     内联函数 
};
class Line:public Dot
{    
    Dot d1,d2;//声明基类的对象为派生类的私有数据成员 注意:此时没有分配空间 
    public:
        Line(Dot dot1,Dot dot2):d1(dot1),d2(dot2)//对基类对象的初始化 
        {
            x=(d1.x+d2.x)/2;
            y=(d1.y+d2.y)/2;
        }
        void showl ()
        {
            cout<<"Dot1:";d1.show();
            cout<<"Dot2:";d2.show();
            cout<<"length="<<sqrt(((d1.x)-(d2.x))*((d1.x)-(d2.x))+((d1.y)-(d2.y))*((d1.y)-(d2.y)))<<endl;
            cout<<"mid:"<<"x="<<x<<\t<<"y="<<y<<endl;
        } //公有的成员函数  内联函数
};

int main()
{
    float a,b;
    cout<<"Input Dot1:";
    cin>>a>>b;
    Dot dot1(a,b);//调用基类的构造函数 
    cout<<"Input Dot2:";
    cin>>a>>b;
    Dot dot2(a,b);//调用基类的构造函数 
    Line line(dot1,dot2);//调用派生类的构造函数 
    line.showl();//调用成员函数 
    return 0;
}

 

点线类(使用继承的方式实现)

原文:https://www.cnblogs.com/Atsuhiro/p/14855421.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!