、目的要求: 1)理解多态与虚函数的概念; 2)学习使用虚函数实现动态多态性; 3)掌握虚函数和纯虚函数的定义与使用方法; 4)掌握抽象类及其派生类中虚函数的声明和定义方法。 2、实验内容: 计算几种不同的三维图形的表面积和体积。这里定义一个抽象类CShape,将其成员函数显示基本图形信息函数DispAttr()、计算表面积函数SArea()和计算体积函数Volume()定义为纯虚函数。根据此抽象类派生出球体、正方体、长方体和圆柱体,并分别重新实现基类中的纯虚函数来显示输出计算结果。 3、实验步骤: 1)声明形状类CShape为抽象列,并将其成员函数DispAttr()、SArea()、Volume()定义为纯虚函数; 2)声明四个派生类:球体类、正方体类、长方体类和圆柱体类,并重新实现基类中的纯虚函数; 3)在main函数中定义基类的指针数组,分别用来指向四个不同的派生类,并初始化各派生类的对象; 4)在main函数中计算所有三维图形的总的表面积和体积,并计算各三维图形占总表面积、总体积的百分比。
时间: 2024-04-23 20:24:22 浏览: 106
非常好的问题,让我来回答你:
1.什么是多态?
多态是指同一种操作作用于不同的对象上面,可以产生不同的结果。具体来说,多态是指在父类中定义的属性和方法被子类继承之后,可以具有不同的数据类型或实现方式的现象,即同一种行为具有多个不同的表现形式或形态。
2.什么是虚函数?
虚函数是在基类中使用virtual关键字声明的函数,其在子类中被重新定义,可以实现动态多态性。
3.什么是纯虚函数?
纯虚函数是在基类中使用virtual关键字声明的函数,但是没有实现,需要在子类中重新定义,并且没有定义的纯虚函数使得基类成为抽象类,抽象类不能够被实例化。
4.什么是抽象类?
抽象类是包含纯虚函数的类,不能够被实例化,只能够被继承,并在子类中重写其纯虚函数,实现具体的功能。
5.实验步骤如何实现?
首先,声明CShape为抽象类并定义其成员函数DispAttr()、SArea()、Volume()为纯虚函数。然后,声明四个派生类:球体类、正方体类、长方体类和圆柱体类,并重新实现基类中的纯虚函数。在main函数中定义基类的指针数组,分别用来指向四个不同的派生类,并初始化各派生类的对象。最后,在main函数中计算所有三维图形的总的表面积和体积,并计算各三维图形占总表面积、总体积的百分比。
阅读全文