标签:函数调用 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