点类
来源:互联网 发布:购买域名后怎么使用 编辑:程序博客网 时间:2024/05/17 06:38
/* Copyright (c) 2012, 烟台大学计算机学院 * All rights reserved. * 文件名称:text.cpp * 作 者: 胡颖 *完成日期:2013年5月10日 * 版 本 号: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(); //输出点的信息 double x,y; //数据成员,表示点的横坐标和纵坐标};void Point::PrintPoint(){ cout<<"Point:("<<x<<","<<y<<")"; //输出点}class Line: public Point //利用坐标点类定义直线类, 其基类的数据成员表示直线的中点{public: Line(Point pt1, Point pt2); //构造函数,初始化直线的两个端点及由基类数据成员描述的中点 double Length(); //计算并返回直线的长度 void PrintLine(); //输出直线的两个端点和直线长度private: class Point pts,pte; //直线的两个端点};//下面定义Line类的成员函数Line::Line(Point pt1, Point pt2):Point(x,y){pts=pt1;pte=pt2;}double Line::Length(){ return sqrt((pte.x-pts.x)*(pte.x-pts.x)+(pte.y-pts.y)*(pte.y-pts.y));}void Line::PrintLine(){ double m; m=Length(); cout<<"直线的两个端点为:"<<"("<<pts.x<<","<<pts.y<<")"<<" "<<"("<<pte.x<<","<<pte.y<<")"<<endl; cout<<"直线的长度为:"<<m<<endl;}int main(){ Point ps(-2,5),pe(7,9),m; Line l(ps,pe); l.PrintLine();//输出直线l的信息(请补全代码) cout<<"\n The middle point of Line: "; cout<<"("<<(pe.x+ps.x)/2<<","<<(pe.y+ps.y)/2<<")"<<endl;//输出直线l中点的信息(请补全代码) return 0;}
运行结果:
- 点类
- 点类
- 点类三角形类
- 平面坐标点类
- 平面坐标点类
- 平面坐标点类
- 平面坐标点类
- 平面坐标点类
- 点类派生出圆类
- 点的派生类
- 定义点类
- 点派生类直线
- 点派生直线类
- 抽象类注意点
- C# 点类程序
- 点
- 点 圆 圆柱 类族设计——基类 点
- 关于C++的类的几点注意点
- C# 序列化与反序列化
- hdu 1059 Dividing
- 线段树
- 讲师秀之7:林仕鼎谈架构设计与架构师
- 服务器返回的各种HTTP状态码介绍
- 点类
- Windows Embedded中的文件、组件和注册表
- 第十一周上机项目一
- 第十一周项目1:派生类
- 点派生出线1
- ajax教程---整理w3c-school教程网站ajax部分内容
- CentOS上安装rlwrap, 给Oracle sqlplus添加上下键功能
- 2013第十一周上机任务【项目2 三角形类 直线类】
- meteor 渲染template实例