台州学院c++实验报告项宝卫实验四类的继承与派生 联系客服

发布时间 : 星期一 文章台州学院c++实验报告项宝卫实验四类的继承与派生更新完毕开始阅读533d8e4d71fe910ef02df820

面向对象程序设计C++实验报告书

班级: 姓名: 学号: 实验项目类型 课程名称 面向对象程序设计C++ 实验项目 实验四、类的继承与派生 验演综设证 示 合 计 指导教师 项宝卫 成 绩 √ 一、实验目的 掌握继承与派生的关系及方法; 在派生类构造函数中初始化基类成员; 多重继承的方法。 二、实验步骤 1、定义1个CPerson类,其属性有:姓名、性别和年龄。 2、从CPerson类派生出CStudent类,增加属性:学号、入学时间和入学成绩; 3、从CPerson类派生出CTeacher类,添加属性:职务、部门和工作时间; 4、由CStudent类派生出CGraduate类,添加属性:研究方向和导师; 5、由CGraduate和CTeacher共同派生出在职研究生类CGradonWork 6、对上述类分别定义其中的构造函数和输出函数,并在主函数中定义对象进行测试,测试的代码大致如下: CGradonWork gradonWork(\男\gradonWork.Print(); 其中CGradonWork 的构造函数参数分别对应的属性是一个在职的研究生对象,其姓名为tzcer,性别为男,33岁,学号15,2003年读在职,入学成绩335,就读计算机方向,其导师tangmin,同时tzcer也是sxxy部门,jsj专业的老师,2002-8月入职。 要求记录输出信息并说明实验步骤和解决方法! 7、问题:何为继承二义性,在本实验中哪个地方存在二义性,你是如何解决的?

三、上机过程原始记录(源程序等) 题目: 由例题1中的point类和circle类继续派生出cylinder,求其表面积Area. 源程序代码: #include using namespace std; const double PI=3.14159; class point //定义point类 { protected: double x,y; public: }; class circle:public point //公有继承point类,派生出circle类 { protected: double radius; point(){x=0;y=0;} point(double xv,double yv) { } double area(){return 0;} void show() { } cout<<\ \x=xv; y=yv; public: 2

}; circle(){x=0;y=0;radius=0;} circle(double xv,double yv,double vv):point(xv,yv) { } circle(point p,double vv):point(p) { } circle(circle &cir):point(cir) { } double area() { } void show() { } point::show(); cout<<\return PI*radius*radius; radius=cir.radius; radius=vv; radius=vv; class cylinder:public circle //公有继承circle类,派生出cylinder类 { protected: double high; public: cylinder(){x=0;y=0;radius=0;high=0;} cylinder(double xv,double yv,double vv,double hv):circle(xv,yv,vv) 3

}; { } cylinder(cylinder &cyl):circle(cyl) { } double area() { } void show() { } cout<<\圆柱体信息:\circle::show(); cout<<\return(2*PI*radius*high+2*circle::area()); high=cyl.high; high=hv; int main() //主函数的定义 { point point1(2,5); circle circle1; circle circle2(1,2,3); circle circle3(point1,4); circle1.show(); circle2.show(); circle3.show(); cylinder cylinder1(5,6,11,20); 4

} cylinder1.show(); cout<<\圆柱体面积:\四、上机结果及分析 实验体会: 1、掌握类的继承与派生的实现方法; 2、定义合适的派生类构造函数,用于初始化基类成员和对象成员; 3、要理解赋值兼容性原则,掌握派生类的复制构造函数的定义方法; 4、在派生类中可以通过基类名调用基类的成员。 签名: 2016年1月12日 5