读书人

派生类的调用有关问题

发布时间: 2012-02-17 17:50:42 作者: rapoo

派生类的调用问题
声明一基类AA,有公有方法funa有个私有成员变量m_a, 现有个派生类BB从其派生, BB中有以函数funb(),不是从AA继承,该函数由继承到的 公有方法funa调用,funa中没有参数m_a, 现在funb中要用到m_a,该怎么办? 能不能把m_a定义成公有,把变量定义成公有有什么 坏处? 请教,谢谢

[解决办法]
我说的不对,chenyi3315(咯咯牛)的方法很好,并且我把它实现了一下,证明是正确的:
class AA
{
public:
AA(void)
{
m_a = 0;
}
int funa (int m_aa)
{
m_a = m_aa;
return m_a;
}
int GetPrivate(void)
{
return m_a;
}
private:
int m_a;
};

class BB :public AA
{
public:
int funb (AA aa)
{
return aa.GetPrivate ();
}
int funa(BB bb, AA aa)
{
return bb.funb (aa);
}

读书人网 >C++

热点推荐