template3.c

来自「this is a gcc file, you can download it 」· C语言 代码 · 共 50 行

C
50
字号
// GROUPS passed templatesextern "C" int printf (const char *, ...);extern "C" void exit (int);int count = 0;voiddie (int x){  if (x != ++count)    {      printf ("FAIL\n");      exit (1);    }}class A {  public:    void   f() const { die (-1); }};template <class Item>class B : public A {  public:  void f() const;};template <class Item>inline void B<Item>::f() const { die (1); }template <class Item>class C : public A {  public:    void f() const { die (2); }};int main(){    B<int> b;    C<int> c;    b.f(); //- bugged, (A::f() called instead of B::f())    c.f(); //- works fine (C::f() called)    printf ("PASS\n");    return 0;}

⌨️ 快捷键说明

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