下面Shape类是一个表示形状的抽象类,Area ( )为求图形面积的函数。请从Shape类派生梯形类(Trapezoid)、圆形类(Circle),三角形类(Triangle),并给出具体的求面积函数。其中,所有派生类计算面积需要用到的参数由构造函数给出,梯形面积计算需要上底、下底和高,三角形面积需要底和高,圆形面积需要半径。 形状的抽象类声明如下: class Shape { public: virtual double Area( ) = 0; };
程序分析题:阅读程序后,填写程序的正确运行结果。
程序填空题:请按试题顺序和空格顺序填写答案。
声明一个交通工具(vehicle)基类,具有maxspeed、weight成员变量,run、stop成员函数(简单输出提示”正在行进”,"停止"),同时编写vehicle类的构造函数和析构函数。由此派生出自行车类(bicycle)、汽车类(motorcar),自行车类有高度(height)属性,汽车(motorcar)类有座位数(seatnum)。从bicycle和motorcar派生出摩托车类(motor-cycle),在继承过程中注意把vehicle设置为虚基类。
写一个程序,定义一个抽象类Shape,由它派生3个类:Square(正方形)、Trapezoid(梯形)和Triangle(三角形)。用虚函数分别计算几种图形面积、并求它们的和。要求用基类指针数组,使它每一个元素指向一个派生类对象。
派生类从基类保护继承时,基类中的私有成员在派生类中是隐藏的,访问。
完成程序题:请按试题顺序和空格顺序填写答案。
改错题:以下程序中有一处错误,请抄写有错误的语句并给出修改意见。
下列关于类的描述中,正确的是( )
C++中有两种继承,一种是单继承,另一种是。
下列关于多重继承的描述中,错误的是( )
在继承中,派生类拥有的基类个数为( )