C++ 7-1类的继承与派生(PTA题目)

这篇博客介绍了C++中类的继承与派生概念,从基本的CPoint类开始,派生出Circle类和Cylinder类。CPoint类包含坐标点,Circle类增加半径,Cylinder类则进一步添加高度。博客通过实例演示了如何实现这些类的构造函数、成员函数,包括输出信息、计算面积和体积等。在测试过程中,作者发现π的精度问题导致了PTA上的部分正确结果,并分享了这个经验教训。
摘要由CSDN通过智能技术生成

定义平面二维点类CPoint,有数据成员x坐标,y坐标,函数成员(构造函数复制构造函数、虚函数求面积GetArea,虚函数求体积函数GetVolume、输出点信息函数print。由CPoint类派生出圆类Cirle类(新增数据成员半径radius),函数成员(构造函数、复制构造函数、求面积GetArea,虚函数求体积函数GetVolume、输出圆信息函数print。 再由Ccirle类派生出圆柱体Ccylinder类(新增数据成员高度height),函数成员(构造函数、复制构造函数、求表面积GetArea,求体积函数GetVolume、输出圆柱体信息函数print。在主函数测试这个这三个类。

输入格式:
0 0 例如:第一行读入圆心坐标。 1 2 第二行读入半径与高度。

输出格式:
分四行输出,分别代表圆心、底面积、表面积、体积。

输入样例:
在这里给出一组输入。例如:

0 0
1 2

输出样例:
在这里给出相应的输出。例如:

Center:(0,0)
radius=1
height:2
BasalArea:3.14159
SupfaceArea:18.8496
Volume:6.28319

参考答案:

#include <iostream>
#include <math.h>
#define PI 3.1415926
using namespace std;

//点
class CPoint{
    
	double X,Y;
public:
	CPoint(double x,double y);
	CPoint(CPoint &cP);
	virtual double GetArea(){
   }//求面积
	virtual double GetVolume(){
   }//求体积
	void print();
};
CPoint::CPoint(double x,double y):X(x),Y(y){
   }
CPoint::CPoint(CPoint &cP):X(cP
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值