面向对象程序设计实验报告
实验四
继承
多态
面向对象程序设计实验报告
一、 实验目的
(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
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
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
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<<\
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C++实验四继承多态在线全文阅读。
相关推荐: