10週目-タスク1-プログラムの空欄:直線クラス継承点クラス
【題目】次のクラスの定義では、記入する関数は注釈の内容によって機能されています
記入完了後の手順は次のとおりです.
記入完了後の手順は次のとおりです.
#include<iostream>
#include<Cmath>
using namespace std;
class Point //
{
public:
double x,y; //
Point(){x=0;y=0;}
Point(double x0, double y0) {x=x0; y=y0;}
void PrintP(){cout<<"Point:("<<x<<","<<y<<")";}
};
class Line: public Point // ,
{
private:
class Point pt1,pt2; //
public:
Line(Point pts, Point pte); //
double Dx(){return pt2.x-pt1.x;}
double Dy(){return pt2.y-pt1.y;}
double Length();//
void PrintL(); //
};
//(1) ,
Line::Line(Point pts, Point pte):Point((pts.x+pte.x)/2,(pts.y+pte.y)/2) {pt1=pts;pt2=pte;} // :
double Line::Length(){return sqrt(Dx()*Dx()+Dy()*Dy());};//(2)
void Line::PrintL()
{
cout<<" 1st ";
pt1.PrintP();
cout<<"
2nd ";
pt2.PrintP();
cout<<"
The middle point of Line: ";
PrintP();
cout<<"
The Length of Line: "<<Length()<<endl; //(3)
}
int main()
{
Point ps(-2,5),pe(7,9);
Line l(ps,pe);
l.PrintL(); //(4) l
l.PrintP();//(5) l , :
system("pause");
return 0;
}