实验五实现由Object类派生出的Box类

更新时间:2023-11-08 19:44:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

内蒙古工业大学信息工程学院

报告类型:实验报告 □ 预习报告 □

报告成绩:__________ 指导教师审核(签名):_______________

年 月 日

实验五

一、实验目的

1、学习使用类的继承关系、定义派生类。 2、熟悉不同继承方式下对基类成员的访问控制。 3、学习派生类的构造和析构函数的调用顺序。

二、题目

实现由Object类派生出的Box类

三、要求

1、声明一个Object类,有数据成员weight及相应的操作函数,由此派生出Box类,增加数据成员height和width及相应的操作函数。

2、声明一个Box对象,观察构造函数与析构函数的调用顺序。 3、分析程序运行结果。

4、下课前完成实验内容,提交给教师检查。

四、实验步骤

1、建立一个控制台应用程序项目lab5,向其中添加一个C++头文件box.h,在该头文件中编写Object类和派生类Box的定义。(方法参照实验二)

2、向项目lab5中添加一个C++源文件box.cpp,在其中实现Object类和派生类Box。 3、向项目lab5中添加一个C++源文件exp5.cpp,在其中定义main( )函数,测试Box类,观察程序的执行情况。

一.程序代码:

/*在box.h头文件中进行声明*/

#include #include using namespace std;

class object

第 页

内蒙古工业大学信息工程学院

{

private: float weight; public: object():weight(0){}; ~object(); float getweight(); void setweight(float newweight); };

class box:public object{ private: float hight; public: box():hight(0){}; ~box(); float gethight(); void sethight(float newhight); };

/*在box.cpp中进行定义*/

#include \

float object::weight;

object() object::weight(0){ cout << \构造函数调用的object!\}

object::~object(){ cout << \析构函数调用的object!\}

float object::getweight(){ return weight; }

void object::setweight(float newweight){ weight=newweight; }

float box::hight;

box() box::hight(0){ cout << \构造函数调用的box!\ }

box::~box(){ cout << \析构函数调用的box!\

第 页

内蒙古工业大学信息工程学院

}

float box::gethight(){ return hight; }

void box::sethight(float newhight){ hight = newhight; }

/*主函数中调用*/

#include \

int main(){ box box1; cout << \ cout << \ cout << \重新设置后:\ box1.setweight(10); box1.sethight(20); cout << \ cout << \ return 0; }

二.实验结果:

第 页

内蒙古工业大学信息工程学院

第 页

本文来源:https://www.bwwdw.com/article/qgu2.html

Top