要求在Circle类基础上采用类组合的思想,设计一个圆柱类,包括相关数据成员和成员函数,输出它们的面积和体积。
仍然是类组合的练习,通过这个题你会发现到类组合比较优势的一点,
那就是提供类中的任何public型成员函数
在需求类中都可以随意调用,方便的1皮,用起来简直舒服
前置代码::
#include <iostream>
using namespace std;
class Circle//圆类
{
private:
double r;
public:
Circle(double a=0.0)
{ r = a; }
double getArea()//返回圆面积
{
return 3.1415926 * r * r;
}
double getPerimeter()//返回圆周长
{
return 2*3.1415926 * r;
}
};
后置代码::
int main()
{
Column column(12,10);
cout<<"圆柱的面积:"<<column.getCubarea()<< endl;
cout<<"圆柱的体积:"<<column.getCubage()<< endl;
return 0;
}
期待的输出::
圆柱的面积:1658.76↵
圆柱的体积:4523.89↵
柱类( Column)的设计
class Column
{
private:
Circle a;
double h;
public:
Column(int a,int b) :a(a)
{
h=b;
}
double getCubarea()
{
return a.getArea()*2+a.getPerimeter()*h;
}
double getCubage()
{
return a.getArea()*h;
}
};