派生與繼承

#include<iostream>
#include<cmath>
using namespace std;
class Point
{
private:
  int x,y;
public:
  Point(int a=0,int b=0){SetPoint(a,b);}
  void SetPoint(int a,int b)
  {
   x=a;
   y=b;
  }
  int GetX(){return x;}
  int GetY(){return y;}     
  void Print()
  {
   cout<<"開始點:"<<'['<<x<<','<<y<<"],";
  }
};
class Line:public Point
{
private:
 Point EndPoint;
public:
 Line(int a,int b,int c,int d):Point(a,b),EndPoint(c,d){}  //EndPoint組合成員
 void Print()
 {
  Point::Print();
  cout<<"結束點:["<<EndPoint.GetX()<<','<<EndPoint.GetY()<<']';
 }
 
 double Length()
 {
  double xx=Point::GetX()-EndPoint.GetX();
  double yy=Point::GetY()-EndPoint.GetY();
    double l=sqrt(xx*xx+yy*yy);
    return l;
 }
};
int main(){
  Line line(1,1,10,10);
  cout<<"Line line:";
  line.Print();
  cout<<"\n線line的長度:";
  cout<<line.Length()<<endl;
  return 0;
}
發佈了57 篇原創文章 · 獲贊 8 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章