标签:函数调用 stream space pre turn out ios 分析 highlight
在知乎上看到的一道题,分析调用过程,源代码入下
#include<iostream> using namespace std; class A { public: ~A(){ cout<<"A"; }; }; class B { public: ~B(){ cout<<"B"; } }; class C :virtual public A,virtual public B { public: ~C(){ cout<<"C"; } B bc; }; int main() { C a; return 0; }
输出是CBBA,
自己分析的调用过程是,先调用C的析构函数,然后执行下面B类对象bc的析构函数,然后依次执行基类的析构函数调用,应该是这样吧...改天遇到类似问题再说,清文件夹先.
标签:函数调用 stream space pre turn out ios 分析 highlight
原文地址:http://www.cnblogs.com/enyala/p/7637710.html