diag0061.c
来自「开放源码的编译器open watcom 1.6.0版的源代码」· C语言 代码 · 共 47 行
C
47 行
struct B {
int x;
void foo( void );
};
struct D : protected B {
int y;
void foo( void );
};
struct E : protected D {
int z;
void foo( void );
};
B *pB;
D *pD;
E *pE;
void B::foo( void )
{
pB->x = 1;
pD->x = 1; // BAD (B is a protected base of D)
pD->y = 1;
pE->x = 1; // BAD (B,D are protected bases of D,E respectively)
pE->y = 1; // BAD (D is a protected base of E)
pE->z = 1;
}
void D::foo( void )
{
pB->x = 1;
pD->x = 1;
pD->y = 1;
pE->x = 1; // BAD (D is a protected base of E)
pE->y = 1; // BAD (D is a protected base of E)
pE->z = 1;
}
void E::foo( void )
{
pB->x = 1;
pD->x = 1; // BAD (B is a protected base of D)
pD->y = 1;
pE->x = 1;
pE->y = 1;
pE->z = 1;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?