编写程序,定义具有继承关系的圆和圆柱体类,前者的数据成员中包含半径,函数成员包含计算圆面积,后者的数据成员有圆柱体高度,函数成员有计算表面积和体积,两类中都包含显示参数的函数。
你题目的解答代码如下:
#include<iostream>
#include <cstring>
using namespace std;
class CCircle{
protected:
int r;
public:
CCircle(int r1):r(r1){ }
float Area(){
return 3.14*r*r;
}
void print(){
cout<<"半径:"<<r<<endl;
cout<<"面积:"<<Area()<<endl;
}
};
class CCylinder:public CCircle{
protected:
int h;
public:
CCylinder(int r1,int h1):CCircle(r1),h(h1){ }
float Volume(){
return 3.14*r*r*h;
}
void print(){
cout<<"半径:"<<r<<endl;
cout<<"高度:"<<h<<endl;
cout<<"面积:"<<Area()<<endl;
cout<<"体积:"<<Volume()<<endl;
}
};
int main(){
int r,h;
cin>>r;
CCircle c1(r);
c1.print();
cin>>r>>h;
CCylinder c2(r,h);
c2.print();
return 0;
}
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!
#include<iostream>
#include <cstring>
using namespace std;
class CPoint{
protected:
int x,y;
public:
CPoint(int x1,int y1):x(x1),y(y1){ }
};
class CCircle:public CPoint{
protected:
int r;
public:
CCircle(int x1,int y1,int r1):CPoint(x1,y1),r(r1){ }
float Area(){
return 3.14*r*r;
}
void print(){
cout<<"Circle:("<<x<<","<<y<<"),"<<r<<endl;
cout<<"Area:"<<Area()<<endl;
}
};
class CCylinder:public CCircle{
protected:
int h;
public:
CCylinder(int x1,int y1,int r1,int h1):CCircle(x1,y1,r1),h(h1){ }
float Volume(){
return 3.14*r*r*h;
}
void print(){
cout<<"Cylinder:("<<x<<","<<y<<"),"<<r<<","<<h<<endl;
cout<<"Volume:"<<Volume()<<endl;
}
};
int main(){
int x,y,r,h;
cin>>x>>y>>r;
CCircle c1(x,y,r);
c1.print();
cin>>x>>y>>r>>h;
CCylinder c2(x,y,r,h);
c2.print();
return 0;
}