ctordtor.cpp
来自「开放源码的编译器open watcom 1.6.0版的源代码」· C++ 代码 · 共 101 行
CPP
101 行
#include <stdio.h>
struct Msg
{
private:
int class_no;
static int next_class_no;
public:
void msg( char * );
Msg();
};
static int Msg::next_class_no = 0;
Msg::Msg() : class_no( next_class_no )
{
++ next_class_no;
}
void Msg::msg( // PRINT MESSAGE
char *text ) // - text
{
printf( "%3d -- %s\n", class_no, text );
#if __WATCOM_REVISION__ < 8
fflush( stdout );
#endif
}
struct NullClass : virtual Msg // CLASS WITH NO DATA
{
NullClass();
~NullClass();
};
NullClass::NullClass() // CTOR
{
this->msg( "NullClass CTOR" );
}
NullClass::~NullClass() // DTOR
{
this->msg( "NullClass DTOR" );
}
struct ElemClass : virtual Msg // CLASS WITH DATA
{
private:
int value;
public:
ElemClass();
~ElemClass();
};
ElemClass::ElemClass() // CTOR
{
this->msg( "ElemClass CTOR" );
}
ElemClass::~ElemClass() // DTOR
{
this->msg( "ElemClass DTOR" );
}
struct ArrayClass : virtual Msg // CLASS WITH ARRAYS
{
private:
NullClass na[5];
ElemClass ea[3][2];
public:
ArrayClass();
~ArrayClass();
};
ArrayClass::ArrayClass() // CTOR
{
this->msg( "ArrayClass CTOR" );
}
ArrayClass::~ArrayClass() // DTOR
{
this->msg( "ArrayClass DTOR" );
}
ArrayClass pub;
void foo( void )
{
static ArrayClass stat;
}
int main( void )
{
ArrayClass aut;
foo();
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?