一道C++类多态继承题的辛酸历程

本文介绍了如何使用C++的抽象类和虚函数来设计一个计算长方形、梯形和圆形面积的程序。通过基类指针调用派生类的虚函数,根据输入的几何图形类型计算相应面积。在实现过程中遇到了'undefined reference to `vtable for shape''的错误,原因是基类的虚函数未被正确定义。解决方案是确保所有虚函数都有定义,强调编程细节的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目描述

定义一个抽象类shape用以计算面积,从中派生出计算长方形、梯形、圆形面积的派生类。程序中通过基类指针来调用派生类中的虚函数,计算不同形状的面积。(尽量用抽象类和虚函数做,实在不会不用也行)

输入

第一行输入一个字符串,表示要计算的几何图形类型,cfx表示长方形,tx表示梯形,yx表示圆形。
第二行输入若干正数,如是长方形则输入的数据分别表示长和宽,如果是梯形则分别表示上底、下底和高,如果是圆形则表示半径。(圆周率取3.14)

输出

输出对应的面积,精确到2位小数。

示例输入

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值