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++实验六

/* * 文件名称:11.cpp* * 作    者: 杨龙 * 完成日期: 2017 年 5 月 9日 * 版 本 号:v1 * 对任务及求解方法的描述部分:从键盘中输入两个字符串a和b,判断这两个...

实验一 C++基础练习(附答案)

最近在学习C++,这是我做的几个基础练习题,希望和大家一起交流讨论。

C++实验2

一、问题及代码/* * 文件名称:学生成绩 * 作 者:刘坤 * 完成日期:2016年3月25日 * 版 本 号:vc6.0 * 对任务及求解方法的描述部分:运用类和对象完成 ...
  • kunlcw
  • kunlcw
  • 2016年04月05日 21:56
  • 191

DLUT C++上机作业(实验六)

(2)有一个交通工具类vehicle,将它作为基类派生小车类car、卡车类truck和轮船类boat,定义这些类并定义一个虚函数用来显示各类信息。#include #include using nam...

C++程序设计实验报告(六)

报告2: 实验目的:学会使用循环控制语句解决实际问题 实验内容:编写多分支选择结构程序,根据个人月收入总额,计算出应缴税款和税后收入。 /* * 程序的版权和版本声明部分 * Cop...

C++实验六—项目1:数组操作

一、问题及代码 /* * 文件名称: shchu.cpp * 作 者: 习佳星 * 完成日期: 2017年5月5日 * 版 本 号: v1.0 * 对任务及...

c++实验六——【项目3:矩阵求和】

一、问题及代码 /* * 文件名称: 矩阵求和 * 作 者: 郑帅馨 * 完成日期:2017 年 5 月 5 日 * 版 本 号:v1.0 * 对任务及求解方法的描述部分: * ...
  • zsx16
  • zsx16
  • 2017年05月19日 13:15
  • 75

C++面向对象实验(六)(完结)

实验8 流类库 实验内容 (1)编写程序,显示一个文本文件的内容。 #include #include #include using namespace std; int main() { if...

visual c++课后实验六

  • 2013年07月03日 15:09
  • 26KB
  • 下载

C++实验4-继承和派生1

一、问题及代码 /* * 文件名称:继承和派生1学生类 * 作 者:尚超 * 完成日期:2016年4月22日 * 版 本 号:v1.0 * 对...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C++ 实验六
举报原因:
原因补充:

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