/*
* 程序的版权和版本声明部分
* Copyright (c)2013, 烟台大学计算机学院学生
* All rightsreserved.
* 文件名称: object.cpp
* 作者:赵晓晨
* 完成日期: 2013年05月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 pts,Point pte):pts(pts),pte(pte){};
double Length();
void PrintLine();
private:
class Point pts,pte;
};
//定义line类的成员函数
double Line::Length(){
return sqrt((pts.x-pte.x)*(pts.x-pte.x)+(pts.y-pte.y)*(pts.y-pte.y));
}
void Line::PrintLine(){
cout<<"point message:"<<(pts.x+pte.x)/2<<"  "<<(pts.y+pts.y)/2<<endl;
}
//main函数进行测试
int main(){
Point ps(-2,5),pe(7,9);
Line l(ps,pe);
cout<<"\n The Length of Line";
cout<<l.Length()<<endl;
cout<<"\n The minddle point of Line";
l.PrintLine();
}
//定义line类的成员函数
#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(); //输出点的信息
private:
double x,y;   //点的横坐标和纵坐标
};
void Point::PrintPoint()
{
cout<<"Point:("<<x<<","<<y<<")";    //输出点
}
class Line: public Point   //利用坐标点类定义直线类, 其基类的数据成员表示直线的中点
{
public:
Line(Point pts, Point pte):pts(pts),pte(pte){}; //构造函数,用初始化直线的两个端点及由基类数据成员描述的中点
double Length();    //计算并返回直线的长度
void PrintLine();   //输出直线的两个端点和直线长度
private:
class Point pts,pte;   //直线的两个端点
};
//构造函数,分别用初始化直线的两个端点及由基类数据成员(属性)描述的中点
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 ";
pts.PrintPoint();
cout<<"\n 2nd ";
pte.PrintPoint();
cout<<"\n The Length of Line: "<<Length()<<endl;
}
int main()
{
Point ps(-2,5),pe(7,9);
Line l(ps,pe);
l.PrintLine();//输出直线l的信息
cout<<"\n The middle point of Line: ";
l.PrintPoint() ;//输出直线l中点的信息
return 0;
}

结果:

体会:用初始化表对其进行初始化。

对line进行定义。

第十一周项目一·项目二----定义点类相关推荐

  1. 第十周第十一周上机实践项目-项目5-摩托车继承自行车和机动车

    /*copyright(c)2016.烟台大学计算机学院* All rights reserved,* 文件名称:text.Cpp* 作者:刘涛* 完成日期:2016年5月9日* 版本号:vc++6. ...

  2. Java基础知识(三十一)IO流(二) File类、递归、IO流基础

    目录 一. File类 1.File: 2.构造方法: 3.创建功能 4.删除功能 5.  重命名功能 6.判断功能 7.基本获取功能 8.高级获取功能 9.需求: 二.递归 1.概述: 2.   递 ...

  3. Vue + Spring Boot 项目实战(二十一):缓存的应用

    重要链接: 「系列文章目录」 「项目源码(GitHub)」 本篇目录 前言 一.缓存:工程思想的产物 二.Web 中的缓存 1.缓存的工作模式 2.缓存的常见问题 三.缓存应用实战 1.Redis 与 ...

  4. 【甄选靶场】Vulnhub百个项目渗透——项目二十一HACKLAB_VULNIX(NFS挂载,ssh毒化)

    Vulnhub百个项目渗透 Vulnhub百个项目渗透--项目二十一:HACKLAB_VULNIX(NFS挂载,ssh毒化) 靶场地址

  5. 第十二周上机实践项目 项目1-实现复数类中的运算符重载 (2)

    问题及代码: [项目-实现复数类中的运算符重载] (1)请用类的成员函数,定义复数类重载运算符+.-.*./,使之能用于复数的加减乘除 class Complex { public:Complex() ...

  6. 第十、十一周项目四 - 教师兼干部类

    /**Copyright(c)2016,烟台大学计算机与控制工程学院*All rights reserved*文件名称:123.cpp*作 者:王蕊*完成日期:2016年5月10日*版 本 号:v1. ...

  7. 第十、十一周项目三-警察和厨师(1)

    /**Copyright(c)2016,烟台大学计算机与控制工程学院*All rights reserved*文件名称:123.cpp*作 者:王蕊*完成日期:2016年5月7日*版 本 号:v1.0 ...

  8. 第十一周项目2--定义点类

    /* * Copyright (c) 2011, 烟台大学计算机学院 * All rights reserved. * 作 者:王静 * 完成日期:2013 年 5 月 20 日 * 版 本 号:v1 ...

  9. 项目经理部的周例会中项目经理要做的事情

    项目经理部的周例会中项目经理要做的事情 项目经理部,在建筑企业中是这样定义的:是企业为了完成某项建设工程施工任务而设立的组织.而不过,任何一家企业,一旦涉及到多个有内在联系的项目或者在建项目非常庞大, ...

  10. 学习Coding-iOS开源项目日志(二)

    继续前篇:<学习Coding-iOS开源项目日志(一)>,接着本第二篇<学习Coding-iOS开源项目日志(二)>讲解Coding-iOS开源项目. 前言:作为初级程序员,想 ...

最新文章

  1. 【综述】介绍这些常用机器学习算法的优缺点
  2. vue 组件之间的传值
  3. C语言入门题-是不是太胖了 (10分)
  4. numpy基础(part5)--卷积
  5. 花式看超级碗 人工智能、大数据在碗里
  6. 配置SQL Server 2008 R2 Reporting Services
  7. C++中用TinyXML对XML文件进行解析
  8. RabbitMQ 功能
  9. 网页中常用加载页面的实现原理
  10. NLP学习(七)使用stanford实现句法分析-Python3实现
  11. 色彩对比广告设计_为什么我们都需要使用色彩对比检查器
  12. 一个项目从立项到终结
  13. L2-3 清点代码库 (25 分)(C/C++)
  14. 厨神之路八--煎炸类
  15. 045:魔兽世界三(开战) 程序设计实习MOOC / 程序设计与算法(三)测验题汇总(2020春季) 已经结束
  16. 《算法竞赛入门经典》Chap3
  17. 深度学习中mAP的含义
  18. select下拉框(支持筛选、多选)
  19. js几行代码搞定html转图片制作海报,html2canvas应用实例
  20. uboot移植(九)移植网卡DM9000

热门文章

  1. 世界上最好的磁盘碎片整理工具 OO Defrag
  2. 目标有价值,生活才有价值
  3. 创基Type-C扩展坞让客户享受到跟台式一样扩展的便捷舒适
  4. 我是正方选手,认为钱就是万恶之源。请帮我写一篇关于“钱到底是不是万恶之源”的辩论文章。...
  5. javaHttpClient 发送Http请求(模拟登陆)
  6. java培训-程序员怎样靠技术来延长职业周期
  7. Swift 语言指南-Issue 43
  8. Minecraft 1.20.x Forge模组开发 05.矿石生成
  9. python项目代码规范
  10. uvm_mem 模型 (1)