题目描述
定义一个抽象类shape用以计算面积,从中派生出计算长方形、梯形、圆形面积的派生类。程序中通过基类指针来调用派生类中的虚函数,计算不同形状的面积。(尽量用抽象类和虚函数做,实在不会不用也行)
输入
第一行输入一个字符串,表示要计算的几何图形类型,cfx表示长方形,tx表示梯形,yx表示圆形。
第二行输入若干正数,如是长方形则输入的数据分别表示长和宽,如果是梯形则分别表示上底、下底和高,如果是圆形则表示半径。(圆周率取3.14)
输出
输出对应的面积,精确到2位小数。
本文介绍了如何使用C++的抽象类和虚函数来设计一个计算长方形、梯形和圆形面积的程序。通过基类指针调用派生类的虚函数,根据输入的几何图形类型计算相应面积。在实现过程中遇到了'undefined reference to `vtable for shape''的错误,原因是基类的虚函数未被正确定义。解决方案是确保所有虚函数都有定义,强调编程细节的重要性。
定义一个抽象类shape用以计算面积,从中派生出计算长方形、梯形、圆形面积的派生类。程序中通过基类指针来调用派生类中的虚函数,计算不同形状的面积。(尽量用抽象类和虚函数做,实在不会不用也行)
第一行输入一个字符串,表示要计算的几何图形类型,cfx表示长方形,tx表示梯形,yx表示圆形。
第二行输入若干正数,如是长方形则输入的数据分别表示长和宽,如果是梯形则分别表示上底、下底和高,如果是圆形则表示半径。(圆周率取3.14)
输出对应的面积,精确到2位小数。

被折叠的 条评论
为什么被折叠?