diag0067.c
来自「开放源码的编译器open watcom 1.6.0版的源代码」· C语言 代码 · 共 65 行
C
65 行
typedef unsigned size_t;
struct S {
struct T {
T();
void * operator new ( size_t );
void operator delete( void * );
private:
~T();
};
struct N {
N();
void * operator new ( size_t );
private:
~N();
};
S();
void * operator new ( size_t );
void operator delete ( void * );
private:
~S();
};
void foo( int x )
{
S *s;
S::T *t;
S::N *n;
s = new S;
delete s;
s = new S[x];
delete [] s;
t = new S::T;
delete t;
t = new S::T[x];
delete [] t;
n = new S::N;
delete n;
n = new S::N[x];
delete [] n;
}
class C1 {
friend void foo( void );
void operator delete( void *, size_t );
};
class C2 : C1 {
friend void foo( void );
C2();
~C2();
int a[10];
};
C2::~C2()
{
}
C2 *p;
void foo( void )
{
delete p;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?