p2846.c

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

C
67
字号
// prms-id: 2846extern "C" int printf(const char *, ...);extern "C" void exit(int);class A;class B;int c;class A {public:  A(void){}  A(const A&){}  A(const B&);  virtual ~A(void){}  virtual void print(void) const {    printf("A::print\n");    printf("FAIL\n");    exit(1);  }  B compute(void) const;};class B : private A {friend class A;public:  virtual ~B(void){}  void print(void) const {    ++c;    printf("B::print\n");  }private:  B(const A& x, int){}};A::A(const B& s) {  s.print();}B A::compute(void) const {  B sub(*this, 1);  return sub;}int main (){  A titi;  A toto = titi.compute();  if (c != 1)    {      printf ("FAIL\n");      return 1;    }  else    {      printf("PASS\n");      return 0;    }}

⌨️ 快捷键说明

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