C++实验四继承多态

2018-12-17 16:43

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

实验四

继承

多态

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

一、 实验目的

(1)了解继承在面向对象程序设计中的重要作用。 (2)进一步理解继承与派生。

(3)掌握通过继承派生出一个新的类的方法。 (4)了解虚基类的作用和用法。

二、 实验设计

1.

实验任务一

(1)将《C++面向对象程序设计》第五章例题5.1的程序片段补充和改写成一个完整的正确的程序,用公用继承方式。在程序中应包括输入数据的函数,在程序运行时输入num,name,sex,age,addr的值,程序应输出以上5个数据的值。

2.

实验任务二

(2)将《C++面向对象程序设计》第五章例题5.3的程序修改,补充和改写成一个完整的正确的程序,用保护继承方式。在程序中应包括输入数据的函数。

3. 实验任务三

(3)修改第二题程序,改为公用继承方式。上机调试程序,使之能正确运行并得到正确结果。

4. 实验任务四

分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)。要求:

(1)在两个基类中都包含姓名、年龄、性别、地址、电话等数据成员。

(2)在Teacher类中还包含数据成员title(职称),在Cadre类中还包含数据成员post(职务),在Teacher_Cadre类中还包含数据成员wages(工资)。

(3)对两个基类中的姓名、年龄、性别、地址、电话等数据成员用相同的名字,在引用这些数据成员时,指定作用域。

(4)在类体中声明成员函数,在类外定义成员函数。

(5)在派生类Teacher_Cadre的成员函数show中调用Teacher类中的display函数,输出姓名、年龄、性别、职称、地址、电话,然后再用cout语句输出职务与工资。

5. 实验任务五

事先编写好程序,上机调试和运行程序,分析结果。

(1)声明Point(点)类,由Point类派生出Circle(圆)类,再由Circle类派生出Cylinder(圆柱体)类。将类的定义部分分别作为3个头文件,对

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

它们的成员函数的声明部分分别作为3个源文件(.cpp文件),在主函数中用#include命令把它们包含进来,形成一个完整的程序,并上机运行; (2)该任务采用什么方案实现:如程序的结构,算法思想,需要的输入、期望的输出,等;

(3)完成该任务的需要的主要步骤;

6. 实验任务6

事先编写好程序,上机调试和运行程序,分析结果。

(1)在《C++面向对象程序设计》第6章例6.3的基础上作以下修改,并作必要的讨论。

①把构造函数修改为带参数的函数,在建立对象时初始化。

②先不将析构函数声明为virtual,在main函数中另设一个指向Circle类对象的指针变量,使它指向gradl。运行程序,分析结果。

③不作第②点的修改而将析构函数声明为virtual,运行程序,分析结果。 (2)该任务采用什么方案实现:如程序的结构,算法思想,需要的输入、期望的输出,等;

(3)完成该任务的需要的主要步骤;

7. 实验任务7

事先编写好程序,上机调试和运行程序,分析结果。 (1)声明抽象基类Shape,由它派生出3个派生类:Circle(圆形)、Rectangle(矩形)、Triangle(三角形),用一个函数printArea分别输出以上三者的面积,3个图形的数据在定义对象时给定。

(2)该任务采用什么方案实现:如程序的结构,算法思想,需要的输入、期望的输出,等;

(3)完成该任务的需要的主要步骤;

三、 实验记录及结果

1.

实验任务一

#include

#include namespace std; class Student {public:

void get_value()

{cin>>num>>name>>sex;} void display()

{cout<<\ cout<<\

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

cout<<\private: int num; char name[10]; char sex; };

class Student1:public Student {public:

void get_value_1() {get_value(); cin>>age>>addr; }

void display_1()

{cout<<\ cout<<\ } private: int age; }; int main() {Student1 stud1; stud1.get_value_1(); stud1.display(); stud1.display_1(); return 0; }

char addr[30];

2. 实验任务二

#include

#include namespace std; class Student {public:

void get_value()

{cin>>num>>name>>sex;} void display()

{cout<<\ cout<<\ cout<<\private: int num; char name[10];

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

char sex; };

class Student1:private Student {public:

void get_value_1() {get_value(); cin>>age>>addr; }

void display_1()

{cout<<\ cout<<\ } private: int age; }; int main() {Student1 stud1; stud1.get_value_1(); stud1.display_1(); return 0; }

char addr[30];

3. 试验任务三

#include using namespace std; class Student {public:

void get_value(); void display(); protected: int num; char name[10]; char sex; };

void Student::get_value() {cin>>num>>name>>sex;} void Student::display() {cout<<\ cout<<\


C++实验四继承多态.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:工商企业管理专业2012届选题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: