2. 写出程序运行结果 #include <iostream> using namespace s

2024-12-31 15:18:49
推荐回答(1个)
回答1:

构造函数A,调用了5次 。分别是在定义 a,b,c,d,z,f的时候。故c的值应该是等于5。因为c是静态变量,属于类而不属于对象【即:所以对象公用这一个变量,任何对象修改,都能影响这个变量】。

在子块{A z(3,6), f;A::f();}执行完之后,自动调用析构函数~A,释放变量z,f。故此c自减两次。结果为3。

析构函数(destructor) 与构造函数相反,当对象脱离其作用域时,系统自动执行析构函数。