题:

1、 设计描述平面坐标上的点CPoint类,该类满足下述要求:

•具有x,y坐标信息;

•具有带默认形参值的构造函数,参数分别用于初始化x和y坐标信息;

•具有获取x、y信息的GetX和GetY函数,具有设置x、y信息的SetX和SetY函数;

2、 设计一个矩形类CRectangle,该类满足下述要求:

•具有矩形的左下角和右上角两个点的坐标信息,这两个点的数据类型是CPoint;

•具有带参数的构造函数CRectangle(const CPoint &, const CPoint &),参数分别用于设置左下角和右上角两个点的坐标信息;

•具有设置左下角和设置右上角的两个点坐标的功能SetLPoint(const CPoint &)和SetRPoint(const CPoint &);

•具有获得周长(GetPerimeter)和获得面积(GetArea)的功能。

3、 在main函数中,完成以下工作:

•动态创建一个CRectangle类的对象a_rectagnle,其初始的左下角和右上角坐标分别为(2,5)、(6,8);调用GetPerimeter和GetArea获得矩形周长和面积,并将周长和面积显示在屏幕上;

///

接下来,我把总的代码发出来:

我采用了.h和.cpp文件,类在.h文件中声明,在.cpp文件中定义。

总的工程包括:cpoint.h  cpoint.cpp  rectangle.h  rectangle.cpp  main.cpp

cpoint.h

#ifndef _CPOINT_H
#define _CPOINT_H
#include <iostream>
using namespace std;
class CPoint
{
public:CPoint(int X,int Y):x(X),y(Y){}int GetX();int GetY();void SetX(int);void SetY(int);
private:int x,y;
};#endif

cpoint.cpp

#include "cpoint.h"
int CPoint::GetX()
{return x;
}
int CPoint::GetY()
{return y;
}
void CPoint::SetX(int X)
{x=X;
}
void CPoint::SetY(int Y)
{y=Y;
}

rectangle.h

#ifndef _RECTANGLE_H
#define _RECTANGLE_H
#include "cpoint.h"
class CRectangle
{
public:CRectangle(const CPoint &a,const CPoint &b):c1(a),c2(b){}void SetLPoint(const CPoint &);void SetRPoint(const CPoint &);void GetPerimeter();void GetArea();
private:CPoint c1,c2;
};
#endif

rectangle.cpp

#include "rectangle.h"
#include "cpoint.h"
void CRectangle::SetLPoint(const CPoint &a)
{c1=a;
}
void CRectangle::SetRPoint(const CPoint &b)
{c2=b;
}
void CRectangle::GetPerimeter()
{int Perimeter=0;Perimeter=( c2.GetX()-c1.GetX() )*2 + ( c2.GetY()-c1.GetY() )*2;cout << "Perimeter is:" << Perimeter << endl;
}
void CRectangle::GetArea()
{int Area=0;Area=( c2.GetX()-c1.GetX() )*( c2.GetY()-c1.GetY() );cout<<"Area is:"<<Area<<endl;
}

main.cpp

#include "rectangle.h"
int main()
{const CPoint a(2,5),b(6,8);CRectangle *p=new CRectangle(a,b);p->SetLPoint(a);p->SetRPoint(b);p->GetPerimeter();p->GetArea();delete p;return 0;
}

OK,就是这样啦!

转载于:https://www.cnblogs.com/ht-beyond/p/4138336.html

C++类与对象实验(六)相关推荐

  1. java类与对象实验_JAVA类与对象实验报告

    <JAVA类与对象实验报告>由会员分享,可在线阅读,更多相关<JAVA类与对象实验报告(6页珍藏版)>请在人人文库网上搜索. 1.面向对象程序设计实验报告实验三.类与对象(1) ...

  2. Java语言程序设计D实验——类与对象实验

    Java语言程序设计D实验--类与对象实验 一.实验内容描述(问题域描述) [实验题目]类与对象 [实验目的]使用类来封装对象的属性和功能:掌握类变量与实例变量,以及类方法与实例方法的区别:掌握使用p ...

  3. java 类与对象实验报告_java类与对象实验报告

    java类与对象实验报告 西 安 邮 电 大 学(计算机学院)课内实验报告实验名称: 类与对象 专业名称: 计算机科学与技术班 级: 计科1405班 学生姓名: 高宏伟 学 号: 04141152指导 ...

  4. java类对象实验问题_Java类与对象实验答案

    Java类与对象实验答案Tag内容描述: 1.Java实验报告 计科.信工版2013-2014-2 实验报告 一.实验项目:类与对象 二.实验目的: 1. 学会使用类来封装对象的属性和功能 2. 掌握 ...

  5. java //d+_Java语言程序设计D实验——类与对象实验

    Java语言程序设计D实验--类与对象实验 一.实验内容描述(问题域描述) [实验题目]类与对象 [实验目的]使用类来封装对象的属性和功能:掌握类变量与实例变量,以及类方法与实例方法的区别:掌握使用p ...

  6. 模拟电梯1.0(类与对象实验)

    浙江理工大学信息电子学院 实验指导书 实验名称:类的定义与使用 学时安排:3 实验类别:设计性实验 实验要求:1人1组  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ...

  7. java类与对象实验报告心得体会_java上机实验心得体会报告(大全五篇)

    北京联合大学信息学院 "面向对象程序设计"课程上机实验报告 题目: JAVA上机实验心得体会 姓名(学号): 专业:计算机科学与技术 编制时间: 2012年12月19日 版本: 1 ...

  8. python的类和对象_Python类与对象实验

    一.任务描述 本实验任务主要对Python类与对象进行一些基本操作,通过完成本实验任务,要求学生熟练掌握Python类与对象的关系,并对Python类与对象的基本操作进行整理并填写工作任务报告. 二. ...

  9. Python类与对象实验

    一.任务描述   本实验任务主要对Python类与对象进行一些基本操作,通过完成本实验任务,要求学生熟练掌握Python类与对象的关系,并对Python类与对象的基本操作进行整理并填写工作任务报告. ...

  10. java类与对象实验报告心得体会_Java类与对象实验报告.doc

    西 安 邮 电 大 学 (计算机学院) 课内实验报告 实验名称: 类与对象 专业名称: 计算机科学与技术 班 级: 计科1405班 学生姓名: 高宏伟 学 号: 指导教师: 刘霞林 实验日期: 201 ...

最新文章

  1. JAVA 多用户商城系统b2b2c-kafka处理超大消息
  2. laravel数据库操作
  3. node使用npm一句命令停止某个端口号 xl_close_port
  4. java after 函数_Java中关于Date的before函数和after函数的使用
  5. [python3.3]Python异步Socket编程【TCP】
  6. 职场有影帝出没,屌丝们请当心!
  7. Hadoop 基础系列一Hadoop 系列之 1.0 和2.0 架构
  8. DNK基础之静态库、动态库、编译流程
  9. acm会议什么档次_国际顶级会议期刊级别介绍
  10. 浅谈垂心四面体的垂心组
  11. HTML与CSS学习
  12. F-Groundhog Looking Dowdy2020牛客暑期多校训练营(第九场)(尺取法)
  13. ppt在服务器上打开要修复,打开ppt提示需要修复怎么办-处理ppt总是提示需要修复的方法 - 河东软件园...
  14. 股票分红信息 股票历次分红查询
  15. Archlinux 安装Yaourt的方式
  16. CentOS挂载3T硬盘的方法
  17. live writer blog test bucuo
  18. 产品宣传手册是如何制作的?
  19. 取消计算机粘贴,电脑复制粘贴文件或图片后怎么设置右击取消粘贴?
  20. 【谈一谈安卓手机的文件管理和垃圾清理】

热门文章

  1. TPS,QPS,RT,PV,UV,IV 含义
  2. Redis 分布式客户端 Redisson 分布式锁快速入门
  3. Python 模块之_os模块_os是与操作系统交互的接口
  4. queryrunner对于数据库的快速操作
  5. MSSQL为单独数据库创建登录账户
  6. VS2010_x86_编译错误
  7. Classes and Objects :类和对象(2)
  8. js获取request参数值(javascript 获取request参数值的方法)
  9. 使用Eclipse开发Java EE应用
  10. Could not resolve type alias ‘‘