在c++中,如何定义利用指针将一个类的函数运用到另外一个类中可能标题有点拗口、情况是这样的:我需要定义一个包含“计算圆柱体底面积S和底部周长l”两个函数的类A;然后在类B中定义一个函数来计算圆柱体的表面积.但是要求类B中中建立一个指向类A的指针,然后运用指正得出s与l,来计算表面积.不是用友元函数吧?

问题描述:

在c++中,如何定义利用指针将一个类的函数运用到另外一个类中
可能标题有点拗口、
情况是这样的:
我需要定义一个包含“计算圆柱体底面积S和底部周长l”两个函数的类A;
然后在类B中定义一个函数来计算圆柱体的表面积.但是要求类B中中建立一个指向类A的指针,然后运用指正得出s与l,来计算表面积.
不是用友元函数吧?

用组合就可以呀,如下所示:
class A
{
public:
    int CalcZhouChang()
    {
        ...
    }
    
    int CalcDiMianJi()
    {
        ...
    }
};

class B
{
public:
    int CalcBiaoMianJi()
    {
        return m_a.CalcDiMianJi() * m_a.CalcZhouChang();
    }
    
private:
    A            m_a;
};