有如下程序: #include<ioStream> using namespace std; class Sample{ public: Sample(){} ~Sample(){cout<<’*’;} }; int main(){ Sample temp

admin2019-06-12  22

问题 有如下程序:
#include<ioStream>
using namespace std;
class Sample{
public:
Sample(){}
~Sample(){cout<<’*’;}
};
int main(){
Sample temp[2],*pTemp[2];
return 0;
}
执行这个程序输出星号(*)的个数为(    )。

选项 A、1
B、2
C、3
D、4

答案B

解析 在main函数中,定义了Sampletemp[2]的一个包含两个对象的数组,还定义了一个*pTemp[2],是包含两个指向类对象的指针的数组,故定义的指针当main函数结束后是不会调用析构函数的,只有包含两个对象的数组temp[2]会调用析构函数,因此只输出两个*。
转载请注明原文地址:https://jikaoti.com/ti/ENA0FFFM
0

最新回复(0)