hier02.c
来自「开放源码的编译器open watcom 1.6.0版的源代码」· C语言 代码 · 共 48 行
C
48 行
#include "fail.h"
// TSTSCOP2.C -- TEST STATIC AND ENUM VARIABLES SHARED IN CLASSES
//
// 91/10/25 -- Ian McHardy -- defined
// A
// / \
// B C
// | /|
// \ / |
// D /
// E
struct A
{
static int a;
enum{ enum1, enum2, enum3 };
};
int A::a = __LINE__;
class B: public A{};
class C: public A{};
class D: public B, public virtual C{};
class E: public D, public virtual C{};
int main( void )
{
E e;
int j;
e.a = 1;
j = e.enum2;
if( e.B::a != 1 ) fail(__LINE__);
if( e.C::a != 1 ) fail(__LINE__);
if( e.a != 1 ) fail(__LINE__);
if( e.B::enum1 != 0 ) fail(__LINE__);
if( e.C::enum2 != 1 ) fail(__LINE__);
if( e.D::enum3 != 2 ) fail(__LINE__);
_PASS;
};
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?