好文档 - 专业文书写作范文服务资料分享网站

C实验报告-实验4继承与派生

天下 分享 时间: 加入收藏 我要投稿 点赞

如有你有帮助,请购买下载,谢谢!

实验4 继承与派生

一、实验目的和要求

(1)掌握派生类的定义方法和派生类构造函数的定义方法。 (2)掌握不同继承方式的情况下,基类成员在派生类中的访问权限。

(3)掌握在多继承方式的情况下,构造函数与析构函数的调用时机与顺序。

二、实验内容和原理

(1)实验指导书P86 1~2任选一题。 (2)实验指导书P89 3~4任选一题。 三、实验环境

联想计算机,Windows XP操作系统,Visual C++ 6.0 四、算法描述及实验步骤 (1)输入源程序。

(2)检查程序有无错误(包括语法错误和逻辑错误),有则改之。

(3)编译和连接,仔细分析编译信息,如有错误应找出原因并改正之。

(4)运行程序,分析结果,在原有程序得出正确结果后,修改程序,将其改写为在类模板外定义,再按第(3)步骤运行。 (5)将调试好的程序保存在自己的用户目录中,文件名自定。 五、调试过程

1页

如有你有帮助,请购买下载,谢谢!

(1)2 (2)4 六、实验结果 (1)2 (2)4 七、总结

(1)掌握构造函数和析构函数的定义方法

(2)构造函数调用顺序:先调用所有基类的构造函数,然后调用派生类的构造函数;

(3)析构函数调用顺序:先调用派生类的析构函数,然后调用基类的析构函数,其顺序正好与构造函数调用顺序相反。 八、附录: (1)代码如下

#include using namespace std; class Base1 {public:

Base1(){cout<<\~Base1(){cout<<\};

class Base2 {public:

Base2(){cout<<\~Base2(){cout<<\};

class Derived1:public Base1,virtual public Base2 {public:

Derived1(){cout<<\~Derived1(){cout<<\};

class Derived2:public Base1,virtual public Base2

2页

如有你有帮助,请购买下载,谢谢!

{public:

Derived2(){cout<<\~Derived2(){cout<<\};

class Derived3:public Derived1,virtual public Derived2 {public:

Derived3(){cout<<\~Derived3(){cout<<\};

int main()

{Derived3 obj; return 0; }

(2)4代码如下

#include using namespace std; const double PI=3.14; class Shape {public:

double area()const{return 0.0;} void display(){}; };

class TwoDimShape:virtual public Shape { };

class ThreeDimShape:virtual public Shape { };

class Circle:public TwoDimShape {public:

Circle(double myr){R=myr;}

double area()const{return PI*R*R;}

void display(){cout<<\private: double R; };

class Rectangle:public TwoDimShape {public:

Rectangle(double myl,double myw) {L=myl; W=myw; }

double area()const{return L*W;}

void display(){cout<<\

3页

C实验报告-实验4继承与派生

如有你有帮助,请购买下载,谢谢!实验4继承与派生一、实验目的和要求(1)掌握派生类的定义方法和派生类构造函数的定义方法。(2)掌握不同继承方式的情况下,基类成员在派生类中的访问权限。(3)掌握在多继承方式的情况下,构造函数与析构函数的调用时机与顺序。二、实验内容和原理(1)实验指导书P861
推荐度:
点击下载文档文档为doc格式
5jqb1695in721et5ixox47ty70kclt00530
领取福利

微信扫码领取福利

微信扫码分享