#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