文档详情

C++程序设计教程之类的继承与派生实验报告-广西科技大学.doc

发布:2019-01-03约4.05千字共10页下载文档
文本预览下载声明
广西科技大学实验报告 面向对象程序设计实验 PAGE XVII PAGE \* MERGEFORMAT7 Guangxi University of Science and Technology 实验报告 实验课程: C++程序设计教程 实验内容: 类的继承与派生 院 (系): 专 业: 班 级: 学生姓名: 学 号: 指导教师: 2013年 11 月 11日 实验目的: 1、掌握利用单继承和多继承的方式定义派生类的方法。 2、深刻理解在各种继承方式下构造函数和析构函数的执行顺序。 3、理解和掌握公有继承、私有继承和保护继承对基类成员的访问机制。 4、理解虚基类的目的和作用。 实验内容 (-)实验题目一: 声明一个圆类作为基类,含成员数据半径R;有成员函数:构造函数实现对基类成员数 据的初始化、计算圆面积的成员函数、输出的成员函数,要求输出圆半径R。把圆类作为基 类,通过公有继承,派生圆柱体类,派生类新增成员数据有高(H);新增成员函数有构造函 数、计算圆柱体体积的函数、输出所有成员的函数。main()完成派生类对象的定义和相关函 数的测试。 程序源代码: #includeiostream using namespace std; class round { public: round(float m) { rad=m; } float space() { sp=3.14*rad*rad; return sp; } void display() { coutthe round of informationendl; cout该圆半径: radendl; cout该圆面积: space()endl; } protected: float rad; float sp; }; class cylinder: public round { public: cylinder(float m,float n):round(m) { high=n; } void gethigh(float n) { high=n; } float room() { bulk=3.14*rad*rad*high; return bulk; } void play() { coutthe cylinder of information:endl; cout该圆柱高: highendl; cout该圆柱体积: room()endl; } protected: float high; float bulk; }; int main() { float m,n; cout输入该圆半径:; cinm; cout输入该圆柱高:; cinn; cylinder ss(m,n); ss.display(); ss.play(); } 3.实验结果: (二)实验题目二: 声明一个学生类,有成员函数:学号、姓名、性别、年龄,要求有如下成员函数:构造 函数,输出所有成员的函数。声明一个课程类,有成员数据:课程编号、课程名称、学时数,要求有如下成员函数:构造函数,输出所有成员的函数。将学生类和课程类作为基类,通过公有继承,派生选课类,派生类新增成员数据有:成绩;新成员函数有:构造函数,输出所有成员的函数。main()完成派生类对象的定义和相关函数的测试。 2.程序源代码: #includeiostream using namespace std; #includestring class student //student的类 { public: student() //student默认构造函数 { } void set1(char *n,char* id,char *s,int y) { name=n; ID=id; sex=s; year=y; } void get1() { coutname: name
显示全部
相似文档