第十一周 项目 3 点类派生直线类
2014-05-13 15:02
369 查看
#include<iostream> #include<Cmath> using namespace std; class Point //定义坐标点类 { public: Point():x(0),y(0) {}; Point(double x0, double y0):x(x0), y(y0) {}; double getX() { return x; } double getY() { return y; } void PrintPoint();//输出点的信息 protected: double x,y; //点的横坐标和纵坐标 }; void Point::PrintPoint() { cout<<"Point: ("<<x<<","<<y<<")"; //输出点 } class Line: public Point //利用坐标点类定义直线类, 其基类的数据成员表示直线的中点 { public: Line(Point pts, Point pte);//构造函数,用初始化直线的两个端点及由基类数据成员描述的中点 double Length() { double dx=pts.getX()-pte.getX(); double dy=pts.getY()-pte.getY(); return sqrt(dx*dx+dy*dy); } //计算并返回直线的长度 void PrintLine() { cout<<"第一个点"<<endl; pts.PrintPoint(); cout<<endl; cout<<"第二个点"<<endl; pte.PrintPoint(); cout<<endl; cout<<"直线的长度"<<endl; cout<<Length(); cout<<endl; } //输出直线的两个端点和直线长度 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; } 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; }
运行结果
心得体会
要细心啊 开始的时候写 在写到44行的时候,竟然忘了写cout。。。导致自己所要求的长度迟迟求不出来。。。弄了好久自己终于发现了!!!唉
细心多重要啊!!
相关文章推荐
- LeetCode Linked List Cycle && Linked List CycleII
- linux(ubuntu)无密码相互登录高可靠文档
- Java标签实现分页
- 流水帐开篇
- C#中null与string.Empty有啥区别
- 相比开源,微软的产品更便宜
- jstack Dump 日志文件中的线程状态
- URAL 1519 Formula 1
- 陀螺仪使用
- 教师兼干部类
- 点派生类直线
- ubuntu下安装maven
- 微分方程笔记
- nylg 小M的因子和
- 0232565
- 1. 局部变量
- js作用域
- apk签名
- cocos2d-x CCScrollView和CCTableView的使用
- 第十二周 长颈鹿类对动物类的继承