第11周补充项目3-点类派生直线类
来源:互联网 发布:剑道眼镜知乎 编辑:程序博客网 时间:2024/06/04 20:02
/**Copyright(C) 2016,计算机与控制工程学院*All rights reserved.*文件名:zhang.cpp*作者:张志新*完成日期:2016年5月18日*版本号:v1.0**问题描述:根据类图定义各类*/#include<iostream>#include<Cmath>using namespace std;class Point //定义坐标点类{public: Point():x(0),y(0) {}; Point(double x0, double y0):x(x0), y(y0) {}; void PrintPoint(); //输出点的信息 int getX() { return x; } int getY() { return y; }protected: double x,y; //点的横坐标和纵坐标};void Point::PrintPoint(){ cout<<"Point: ("<<x<<","<<y<<")"; //输出点}class Line: public Point //利用坐标点类定义直线类, 其基类的数据成员表示直线的中点{public: Line(Point pts, Point pte); //构造函数,用初始化直线的两个端点及由基类数据成员描述的中点 double Length(); //计算并返回直线的长度 void PrintLine(); //输出直线的两个端点和直线长度private: class Point pts,pte; //直线的两个端点,从Point类继承的数据成员表示直线的中点};Line::Line(Point pt1, Point pt2):Point((pt1.getX()+pt2.getX())/2,(pt1.getY()+pt2.getY())/2){ //pts=pt1; //中点坐标 //pte=pt2;}double Line::Length(){ double dx = pts.getX() - pte.getX(); double dy =pts.getY() - pte.getY(); return sqrt(dx*dx+dy*dy); //求出直线的长度}void Line::PrintLine(){ cout<<" 1st "<<endl; pts.PrintPoint(); cout<<endl; cout<<" 2nd "<<endl; pte.PrintPoint(); cout<<endl; cout<<" The Length of Line: "<<Length()<<endl;}int main(){ Point ps(-2,5),pe(7,9); Line l(ps,pe); cout<<"About the Line: "<<endl; l.PrintLine(); //输出直线l的信息:两端点及长度 cout<<"The middle point of Line is: "; l.PrintPoint(); //输出直线l中点的信息 return 0;}
学习心得:
在这个程序中在基类类的x,y需要get函数,不能直接使用,否则会出现编译错误。而且这个程序还要注意着个派生类构造函数的写法。
0 0
- 第11周补充项目3-点类派生直线类
- 第11周 项目3 点类派生直线类
- 第11周 【项目3 - 点类派生直线类】
- 第11周项目3-点类派生直线类
- 第11周项目3-点类派生直线类
- 第11周 项目3 点类派生直线类
- 第11周项目3 点类派生直线类
- 第十一周补充项目3-点派生直线类
- 第11周项目三-点类派生直线类
- 第11周 项目三-点类派生直线类
- 第11周项目4-点类派生直线类
- 第10-11周项目:点类派生直线类
- 第10周-项目3-点类派生直线类
- 第10周项目3点类派生直线类
- 第10周项目3-点类派生直线类
- 第11周-继承与派生-项目4-点类派生直线类
- C++第10/11周项目 继承与派生 【点类派生直线类 】(复习新版)
- C++第11周(春)项目3 - 点类派生直线类
- 启动tomcat提示mysql-connector驱动找不到
- 【NOIP2013模拟】KC看星
- 最近笔记3
- sdut 3252 Lowest Unique Price set
- 二维数组查找目标值
- 第11周补充项目3-点类派生直线类
- 《七周七语言》之ruby练习2
- Interface Default Static
- POJ 1003 (水题)
- Caffe框架源码剖析(1)—构建网络
- Hello World
- 论文阅读:Dynamic Software Updates: A VM-centric Approach
- java中path和CLASSPATH的配置和意义解析
- Real-Time Rendering 翻译 2.渲染管线