首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

派生类的调用有关问题

2012-02-17 
派生类的调用问题声明一基类AA,有公有方法funa有个私有成员变量m_a,现有个派生类BB从其派生,BB中有以函数f

派生类的调用问题
声明一基类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);
}

热点排行