p16146.c
来自「用于进行gcc测试」· C语言 代码 · 共 91 行
C
91 行
// { dg-do run }// prms-id: 16146extern "C" int printf (const char *, ...);class myFoundation {protected: myFoundation () { count = 0; } virtual ~myFoundation () {}public: void addRef () { ++count; } void removeRef () { if (count > 0) --count; }private: long count;};class firstIntermediate :virtual public myFoundation {public: firstIntermediate () {} ~firstIntermediate () {} void bar () { printf ("Bar\n"); }};class firstBase : public firstIntermediate {public: firstBase () {} ~firstBase () {} virtual void g () {}};class secondIntermediate : virtual public myFoundation {public: secondIntermediate () {} ~secondIntermediate () {} virtual void h () {}};class secondBase : public secondIntermediate {public: secondBase () {} ~secondBase () {} virtual void h () {}};class typeInterface : virtual public firstBase {public: typeInterface () {} ~typeInterface () {} virtual void i () {}};class classServices : virtual public firstBase, public secondBase {public: classServices () {} ~classServices () {} virtual void j () {}};class classImplementation : public typeInterface, public classServices {public: classImplementation () {} ~classImplementation () {} void g () {} void h () {} void i () {} void j () {}};int main () { firstBase* fbp = new classImplementation; classImplementation* cip = dynamic_cast <classImplementation*> (fbp); cip->addRef(); myFoundation* mfp = cip;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?