实验7 继承与派生
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电子信息学院实验报告书
课程名:面向对象程序设计题目:实验7 继承与派生实验类别设计
班级:BX1004
学号:35
姓名:赵鑫
一.实验目的
1.理解继承的含义,掌握派生类的定义方法和实现;
2.理解公有继承下基类成员对派生类成员和派生类对象的可见性,能正确地访问继承层次中的各种类成员;
3.理解保护成员在继承中的作用,能够在适当的时候选择使用保护成员以便派生类成员可以访问基类的部分非公开的成员;
4.理解虚函数在类的继承层次中的作用,虚函数的引入对程序运行时的影响,能够对使
用虚函数的简单程序写出程序结果。
二.实验内容
1.将例5.2的程序片段补充和改写成一个完整、正确的程序,用私有继承方式。在程序
中应包括输入数据的函数,在程序运行时输入num,name,sex,age,addr的值,程序应输出以上5个数据的值。
2.编写一个学生和教师数据输入和显示程序,学生数据有编号、姓名、班级和成绩,教
师数据有编号、姓名、职称和部门。要求将编号、姓名输入和显示设计成一个类person,并作为学生数据操作类student和教师类数据操作类teacher的基类。
3. 编写一个程序计算出球、圆柱和圆锥的表面积和体积。
要求:
(1)定义一个基类圆,至少含有一个数据成员半径;
(2)定义基类的派生类球、圆柱、圆锥,都含有求表面积和体积的成员函数和输出函数。(3)定义主函数,求球、圆柱、圆锥的和体积(初始化用构造函数)。
3.实验结果
⑴ #include
using namespace std;
class Student
{public:
void get_value()
{cin>>num>>name>>sex;}
void display()
{cout<<"学号:"< cout<<"姓名:"< cout<<"性别:"< private: char num[20]; char name[10]; char sex[10]; }; class Student1:private Student {public: void get_value_1() {get_value(); cin>>age>>addr;} void display_1() { display(); cout<<"年龄:"< cout<<"住址:"< } private: int age; char addr[30]; }; int main() { cout<<"请输入学生学号姓名性别年龄住址:"< Student1 stud1; stud1.get_value_1(); cout<<"*******************************************"< cout< stud1.display_1(); cout< cout<<"*******************************************"< cout<<"\t\t欢迎再次使用!"< cout<<"\t\t喜迎“十八大”"< return 0; } 运行结果: ⑵ #include #include using namespace std; class Student {public: Student(int a,string nam,string ban,string sco) {number=a; name=nam; banji=ban; score=sco; } void display() {cout<<"编号:"< cout<<"姓名:"< cout<<"班级:"< cout<<"成绩:"< } protected: int number; string name; string banji; string score; }; class Teacher {public: Teacher(int n,string nam,string tit,string dep) {number=n; name=nam; title=tit; department=dep; } void display1() {cout<<"编号:"< cout<<"姓名:"< cout<<"职称:"< cout<<"部门:"< } protected: int number; string name; string title; string department; }; class Person:public Student,public Teacher {public: Person(int a,string nam,string ban,string sco,int n,string nam1,string tit,string