B是A的基类
class A:public B
{
public:
void f(const B & d);
};
B中有某个保护成员 (如:protected:int c;)
A中的成员函数f(接受一个B 类型的参数 d
这个成员函数f怎么访问d对象的c成员?通过d.c好像不行。
Base B加上:
int getc()const
{
return c;
}
A调用B.getc()
在A里加入私有成员
int get_c(const B & _d)
{
(B)*this=_d;
return B::c;
}
通过临时A类对象调用该函数,获得d的c