// 设计一个圆类,从圆类派生圆柱,并设计成员函数访问相关属性(包括构造函数和析构函数的应用),计算圆面积和圆柱体的体积和表面积。
#include<iostream>
using namespace std;
const int N=3.14;
class yuan
{
public:
int r;
yuan(int r)
{
cout<<"构造函数"<<endl;
this->r=r;
}
float area()
{
float s;
s=N*r*r;
cout<<"圆面积为"<<s<<endl;
return s;
}
~yuan()
{
cout<<"析构函数"<<endl;
}
};
class yuanzhu:public yuan
{
public:
int h;int r;
yuanzhu(int h,int r):yuan(r)
{
cout<<"构造函数"<<endl;
this->r=r;
this->h=h;
}
void yzs()
{
cout<<"圆柱体的面积为"<<area()*2+N*2*r*h<<endl;
}
void yzv()
{
cout<<"圆柱体的体积为"<<area()*h<<endl;
}
~yuanzhu()
{
cout<<"析构函数"<<endl;
}
};
int main()
{
yuan n(1);
yuanzhu m(1,1);
m.yzv();
m.yzs();
n.area();
return 0;
}
float类型要加f,比如1.0f不然会丢失精度