从基类中继承的点的信息表示直线的中点
[cpp]
/*
* Copyright (c) 2013, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作者:邱学伟
* 完成日期:2013 年 5 月 11 日
* 版本号:v1.0
* 输入描述:无
* 问题描述: 定义点类,并以点类为基类,派生出直线类,从基类中继承的点的信息表示直线的中点
* 程序输出:
* 问题分析:
* 算法设计:略
*/
#include <iostream>
#include <cmath>
using namespace std;
class Point
{
public:
Point():x(0),y(0){};
Point(double x1,double y1)
{
x=x1;
y=y1;
}
double getx(){return x;}
double gety(){return y;}
void display();
private:
double x,y;
};
void Point::display()
{
cout<<"Point:("<<x<<","<<y<<")"<<endl;
}
class Line:public Point
{
public:
Line(Point p1,Point p2);
double Lengh();
void PrintLine();
void PrintPoint();
private:
class Point pts,pte;
};
Line::Line(Point p1,Point p2)
{
pts=p1;
pte=p2;
}
double Line::Lengh()
{
double x0=pts.getx()-pte.getx();
double y0=pts.gety()-pte.gety();
return sqrt(x0*x0+y0*y0);
}
void Line::PrintLine()
{
cout<<"端点为:"<<endl;
pts.display();
pte.display();
cout<<"长度:"<<Lengh()<<endl;
}
void Line::PrintPoint()
{
cout<<"("<<(pts.getx()+pte.getx())/2<<","<<(pts.gety()+pte.gety())/2<<")"<<endl;
}
int main()
{
Point pt(-2,5),pe(7,9);
Line l(pt,pe);
l.PrintLine();
cout<<"中点:"<<endl;
l.PrintPoint();
return 0;
}
/*
* Copyright (c) 2013, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作者:邱学伟
* 完成日期:2013 年 5 月 11 日
* 版本号:v1.0
* 输入描述:无
* 问题描述: 定义点类,并以点类为基类,派生出直线类,从基类中继承的点的信息表示直线的中点
* 程序输出:
* 问题分析:
* 算法设计:略
*/
#include <iostream>
#include <cmath>
using namespace std;
class Point
{
public:
Point():x(0),y(0){};
Point(double x1,double y1)
{
x=x1;
y=y1;
}
double getx(){return x;}
double gety(){return y;}
void display();
private:
double x,y;
};
void Point::display()
{
cout<<"Point:("<<x<<","<<y<<")"<<endl;
}
class Line:public Point
{
public:
Line(Point p1,Point p2);
double Lengh();
void PrintLine();
void PrintPoint();
private:
class Point pts,pte;
};
Line::Line(Point p1,Point p2)
{
pts=p1;
pte=p2;
}
double Line::Lengh()
{
double x0=pts.getx()-pte.getx();
double y0=pts.gety()-pte.gety();
return sqrt(x0*x0+y0*y0);
}
void Line::PrintLine()
{
cout<<"端点为:"<<endl;
pts.display();
pte.display();
cout<<"长度:"<<Lengh()<<endl;
}
void Line::PrintPoint()
{
cout<<"("<<(pts.getx()+pte.getx())/2<<","<<(pts.gety()+pte.gety())/2<<")"<<endl;
}
int main()
{
Point pt(-2,5),pe(7,9);
Line l(pt,pe);
l.PrintLine();
cout<<"中点:"<<endl;
l.PrintPoint();
return 0;
}
心得体会:这是自己敲出来的,跟老师的有不少不同之处;
[cpp]
/*
* Copyright (c) 2013, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作者:邱学伟
* 完成日期:2013 年 5 月 11 日
* 版本号:v1.0
* 输入描述:无
* 问题描述: 定义点类,并以点类为基类,派生出直线类,从基类中继承的点的信息表示直线的中点
* 程序输出:
* 问题分析:
* 算法设计:略
*/
#include <iostream>
#include <cmath>
using namespace std;
class Point
{
public:
Point():x(0),y(0){};
Point(double x1,double y1)
{
x=x1;
y=y1;
}
double getx(){return x;}
double gety(){return y;}
void display();
private:
double x,y;
};
void Point::display()
{
cout<<"Point:("<<x<<","<<y<<")"<<endl;
}
class Line:public Point
{
public:
Line(Point p1,Point p2);
double Lengh();
void PrintLine();
void PrintPoint();
private:
class Point pts,pte;
};
Line::Line(Point p1,Point p2):Point((p1.getx()+p2.getx())/2,(p1.gety()+p2.gety())/2)
{
pts=p1;
pte=p2;
}
double Line::Lengh()
{
double x0=pts.getx()-pte.getx();
double y0=pts.gety()-pte.gety();
return sqrt(x0*x0+y0*y0);
}
void Line::PrintLine()
{
cout<<"端点为:"<<endl;
pts.display();
pte.display()
补充:软件开发 , C++ ,