下面代码的执行结果是什么?为什么?

2025-04-27 11:36:00
推荐回答(1个)
回答1:

1、先看这段代码
void main()
{
B b(1,2);
}
创建一个B类实例b,调用B(Int i,int j)实例化;在这个函数中,调用a(i),并设定{m=j}
2、看这段
A(int i){n=i;}
~A() { cout<<"n="<}
a的默认构造函数没有动作,看上面的这段。完成构造函数后,n=i,就是n=1,接着析构函数,输出n=1,回车换行
3、看这段
~B(){cout<<"m="<到现在执行B的析构函数,输出m=?上面已经设定了m=j,就是m=2,于是输出m=2,回车换行
4、最后的输出结果:
n=1
m=2

个人意见,仅供参考