8.4 圆柱类设计-类组合

要求在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;
		}
};
原文地址:https://www.cnblogs.com/hzshisan/p/12571107.html