ctor32.c

来自「开放源码的编译器open watcom 1.6.0版的源代码」· C语言 代码 · 共 33 行

C
33
字号
#include "fail.h"

static int first = 0;
static int second = 0;
static int third = 0;

struct Foo {
    int j;

    Foo() : j(0) { first++; }
    Foo(int i) : j(i) { second ++; }
    Foo(Foo const & foo) : j( foo.j) { third ++; }
};

int main( void )
{
    Foo foo;
    int b = 1;

    if( first != 1 ) fail(__LINE__);
    if( second != 0 ) fail(__LINE__);
    if( second != 0 ) fail(__LINE__);

    Foo temp = b ? 1 : foo; 

    if( temp.j != 1 ) fail(__LINE__);

    if( first != 1 ) fail(__LINE__);
    if( second != 1 ) fail(__LINE__);
    if( second != 1 ) fail(__LINE__);
    _PASS;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?