C++ 实验六

原创 2013年12月03日 11:24:28


实验六
类与对象(二)
【实验目的】
1、掌握类的构造函数和析构函数的概念和使用方法;
2、掌握对象数组、对象指针的定义和使用方法;
3、掌握new和delete的使用方法;
【实验内容】
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获得矩形周长和面积,
并将周长和面积显示在屏幕上;
•调用SetLPoint设置a_rectagnle的左下角为(4,6),调用SetRPoint设置
a_rectagnle的右上角为(7,9);调用GetPerimeter和GetArea获得矩形周长和面
积,并将周长和面积显示在屏幕上;
•销毁该动态创建的对象。

#include<iostream>
using namespace std;
class CPoint{
public:
	CPoint(double xd=0,double yd=0):x(xd),y(yd){
	}
	double GetX(){
		return x;
	}
	double GetY(){
		return y;
	}
	void SetX(double xi){
		x=xi;
	}
	void SetY(double yi){
		y=yi;
	}

private:
	double x,y;
};
class CRectangle
{
public:
	CRectangle(const CPoint &a, const CPoint &b)
	{
		ldPoint=a;
		ruPoint=b;
	}
	void SetLPoint(const CPoint& l)
	{
		ldPoint=l;
	}
	void SetRPoint(const CPoint& r)
	{
		ruPoint=r;
	}
	double GetPerimeter()
	{
		return (ruPoint.GetX()-ldPoint.GetX()+ruPoint.GetY()-ldPoint.GetY())*2;
	}
	double GetArea()
	{
		return (ruPoint.GetX()-ldPoint.GetX())*(ruPoint.GetY()-ldPoint.GetY());
	}
private:
	CPoint ldPoint,ruPoint;
};
int main(){
	CPoint zuo(2,5),you(6,8);
	CRectangle *rect=new CRectangle(zuo,you);
	cout<<rect->GetPerimeter()<<endl<<rect->GetArea()<<endl;
	zuo.SetX(4);
	zuo.SetY(6);
	you.SetX(7);
	you.SetY(9);
	rect->SetLPoint(zuo);
	rect->SetRPoint(you);
	cout<<rect->GetPerimeter()<<endl<<rect->GetArea()<<endl;
	delete rect;
	return 0;
}

《C++第十六周实验报告2-1》---学生成绩排序

/* 【任务2】学生成绩排序 文件score.dat 中保存的是100 名学生的姓名和C++课、高数和英语成绩。 (1)定义学生类,其中包含姓名、C++课、高数和英语成绩及总分、均分数据成员,成员函数...
  • w695050167
  • w695050167
  • 2012年06月04日 20:32
  • 4544

汇编语言 第三版 王爽 实验6 更改大写字母

大小写字母转换实验
  • think_ycx
  • think_ycx
  • 2015年10月11日 18:10
  • 1462

[Java] 实验6参考代码

求1+1/2+1/3+……+1/n 1. 整数 / 整数 = 整数 2. 如何进行从1到n的循环: for (int i = 1; i ...
  • u014674776
  • u014674776
  • 2016年04月05日 10:21
  • 843

大三上信息论与编码实验——汉明码的编码过程的c++实现

汉明码是信道编码的一种,详情可百度,一下给出汉明码的一种实现方式:#include #include #include #include using namespace std; int main(...
  • shenqi48
  • shenqi48
  • 2016年11月30日 23:34
  • 395

汇编语言 王爽(第三版)实验十六

assume cs:code stack segment db 128 dup(0) stack ends code segment start: mov ax,st...
  • love_jing_forever
  • love_jing_forever
  • 2016年11月30日 22:48
  • 538

【测绘专用】四舍六入五成双的C++实现

作为一名测绘专业的学生,在内业计算中经常遇到遇到小数点后保留几位小数的问题。根据《工程测量实验教程》(王宇会 著)一书,内业计算按“四舍六入,五前单进双舍(或称奇进偶不进)”的取舍规则进行尾数的取舍。...
  • qq_34844814
  • qq_34844814
  • 2018年01月31日 16:59
  • 92

实验六 磁盘调度算法

一、  需求分析 说明程序设计的任务和目的,明确规定下述内容: 加深对磁盘调度算法的理解,进一步掌握先来先服务FCFS、最短寻道时间优先    SSTF、SCAN和循环SCAN算法的实现方法。 ...
  • u012320991
  • u012320991
  • 2015年12月30日 16:48
  • 1114

数据结构实验四 栈和队列

一、实验目的 理解栈和队列的工作原理,掌握栈和队列在计算机程序设计中的应用。 二、实验内容 中缀表达式到后缀表达式的转换。 三、设计要求 以字符序列的形式从终端输入语法正确的、不含变量的整数表达式,利...
  • PoorGuy_tn
  • PoorGuy_tn
  • 2017年11月10日 09:23
  • 176

C++实验六

一、问题及代码 文件名称: 作 者:糜子越 完成日期:2017 年 5月 18日 版 本 号:v1.0 对任务及求解方法的描述部分: 矩阵求和 输入描述:无 ...
  • miziyue
  • miziyue
  • 2017年05月19日 01:24
  • 63

c++实验六

一、问题及代码 /* * 文件名称:ff.cpp* * 作 者:乐银芳 * 完成日期:2017 年 5月 10日 * 版 本 号:v1.0 * 对任务及求解方法的描述部分: 利用数组...
  • always199709
  • always199709
  • 2017年05月11日 13:56
  • 111
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C++ 实验六
举报原因:
原因补充:

(最多只允许输入30个字)