c++考试题,请高手帮忙答一下,谢谢了.我急用.

来源:百度知道 编辑:UC知道 时间:2024/06/08 13:25:29
分析程序中的访问权限,并回答所提问题.
#include<iostream.h>
class A{
public:
void f1();
protected:
int j1;
private:
int i1;
};
class B:public A{
public:
void f2();
protected:
int j2;
private:
int i2;
};
class C:public B{
public:
void f3();
};
回答下列问题:
1.派生类B中的成员函数f2()能否访问基类A中的成员:f1(),i1和j1 呢?
2.派生类B中的对象b1能否访问基类A中的成员:f1(),i1和j1 呢?
3.派生类C中的成员函数f3()能否访问基类B中的成员:f2()和j12呢?

访问权限是这样的:
private成员是私有的,只能为自己的成员方法或者友元访问,
protected成员可以为自己的成员方法和派生类访问
public对所有外界都是公开的,
那么第一问中:f1()是public,可以被f2()访问
i1是private,f2不是A的成员方法,所以不能访问
j1是protected,class B是A的派生类,可以访问基类的保护成员,所以,也是可以的

后面几问自己解决吧,呵呵