udc02.c
来自「开放源码的编译器open watcom 1.6.0版的源代码」· C语言 代码 · 共 48 行
C
48 行
#include "fail.h"
class A {
public:
virtual void working() = 0;
};
class C :
virtual public A
{
public:
virtual void working();
};
template <class T>
class SP_var {
private:
T* _ptr;
public:
SP_var(T* p) { _ptr = p; }
operator T*() const { return _ptr; }
};
typedef SP_var<C> C_var;
void foo(A*);
int ok;
void C::working() {
++ok;
}
void foo(A* a) {
a->working();
}
int main(void) {
C_var c = new C;
foo((C*)c);
foo(c);
if( ok != 2 ) _fail;
_PASS;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?