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; }