题目
有以下程序结构,请分析所有成员在各类的范围内的访问权限。
#include <iostream>
using namespace std;
class A
{
public:
void f1( );
protected:
void f2();
private:
int i;
};
class B: public A
{
public:
void f3( );
int k;
private:
int m;
};
class C: protected B
{
public:
void f4();
protected:
int n;
private:
int p;
};
class D: private C
{
public:
void f5();
protected:
int q;
private:
int r;
};
int main()
{
A a1;
B b1;
C c1;
D d1;
return 0;
}
完成下表,以说明各成员在各类中的访问属性(四种:公、保、私、不)。
f1 | f2 | i | f3 | k | m | f4 | r | n | f5 | p | q | |
A | 公 | 保 | 私 | 不 | 不 | 不 | 不 | 不 | 不 | 不 | 不 | 不 |
B | 公 | 保 | 不 | 公 | 公 | 私 | 不 | 不 | 不 | 不 | 不 | 不 |
C | 保 | 保 | 不 | 保 | 保 | 不 | 公 | 不 | 保 | 不 | 私 | 不 |
D | 私 | 私 | 不 | 私 | 私 | 不 | 私 | 私 | 私 | 公 | 不 | 保 |