第十周实验指导--任务1--由坐标点类派生出直线类--继承与派生
2012-04-23 17:28
281 查看
/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:由坐标点类派生出直线类。
* 作 者: 雷恒鑫
* 完成日期: 2012 年 04 月 22 日
* 版 本 号: V1.0
* 对任务及求解方法的描述部分
* 输入描述:
* 问题描述:
* 程序输出:
* 程序头部的注释结束
*/
运行结果:
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:由坐标点类派生出直线类。
* 作 者: 雷恒鑫
* 完成日期: 2012 年 04 月 22 日
* 版 本 号: V1.0
* 对任务及求解方法的描述部分
* 输入描述:
* 问题描述:
* 程序输出:
* 程序头部的注释结束
*/
#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(); //输出直线的两个端点和直线长度 }; //构造函数,分别用参数初始化对应的端点及由基类属性描述的中点 Line::Line(Point pts, Point pte):Point(((pts.x+pte.x )/2),((pts.y +pte.y )/2)) { pt1=pts; pt2=pte; /* if(pt1.x>pt2.x) point((-Dx()/2),(-Dy()/2)); else point((Dx()/2),(Dy()/2));*/ } double Line::Length(){return sqrt(Dx()*Dx()+Dy()*Dy());};//计算直线的长度 void Line::PrintL() { cout<<" 1st "; pt1.PrintP(); cout<<"\n 2nd "; pt2.PrintP(); cout<<"\n The middle point of Line: "; PrintP(); cout<<"\n The Length of Line: "<<Length()<<endl; } int main() { Point ps(-2,5),pe(7,9); Line l(ps,pe); l.PrintL(); //输出直线l的信息 l.PrintP();//输出直线l中点的信息 cout<<endl; system("pause"); return 0; }
运行结果:
相关文章推荐
- 第十周实验报告任务1 由坐标点类派生出直线类
- 第十周实验指导--任务2--定义一个名为CPerson的类,并在此基础上派生出CEmployee类
- 第十周实验指导--任务3--先建立一个Point(点)类,再派生出一个Circle(圆)类,再派生出一个Cylinder(圆柱体)类
- C#--第四周实验--任务4--定义一个描述坐标点的CPoint类,派生出直线类Cline,在派生出矩形类CRect,实现一些功能。
- 第十二周实验指导--任务2--分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)
- 第十二周实验指导--任务1--理解基类中成员的访问限定符和派生类的继承方式
- 第十二周实验指导--任务三--设计一个在下面一段类的定义中,自行车类的虚基类为车辆类,机动车类的虚基类也为车辆类,摩托车类的基类为自行车类和机动车类,类之间均为公有继承
- C++第十周【任务3】类的继承和派生
- 第十周实验报告(任务二)【在CPerson类的基础上派生出CEmployee类】
- 第十周实验报告(二)继承和派生
- 第十二周实验指导--任务四--类的组合与继承
- 第十周阅读项目(5):继承与派生
- 第十周——面向对象——继承和派生——项目三 点类派生直线类
- C++程序设计实验报告(六十二)---第十周任务1
- 第十周任务一:求两点之间的直线长度
- 第十周任务三 多重继承派生类
- 第十周实验报告(任务2)
- 第10周-任务1-程序填空:直线类继承点类
- C++第十二周【任务2】定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)。
- C#--第七周实验--任务2--从PhysicalObject中派生出移动物体类MovingObject并实现部分功能