dtors1.c
来自「Mac OS X 10.4.9 for x86 Source Code gcc」· C语言 代码 · 共 58 行
C
58 行
// { dg-do run }// GROUPS passed destructors// Check that when an object of a derived class is (implicitly)// destructed (on exit from the block in which it is declared)// that the destructor for the base class also gets executed.//// (also check that this execution doesn't seg-fault)extern "C" int printf (const char *, ...); int derived_destructed;int base_destructed;struct base { int base_data_member; base() { base_data_member = 0x5e5e; } ~base() { base_destructed = 0x781f; }};struct derived : public base { int derived_data_member; derived() { derived_data_member = 0xe5e5; } ~derived() { derived_destructed = 0xf178; }};void test2 ();int main (){ test2 (); if ((base_destructed != 0x781f) || (derived_destructed != 0xf178)) { printf ("FAIL\n"); return 1; } else printf ("PASS\n");}void test2 (){ derived derived_object; derived_object.derived_data_member = 99;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?