选择题

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

【正确答案】 B
【答案解析】

此题考查的是构造函数和析构函数。构造函数在对象被创建时由系统自动调用,而析构函数在对象的生存期即将结束时由系统自动调用。 此题中, 主程序在创建 Sample 类的对象 temp[2]数组时, 调用 Sample 类的默认构造函数, 在主函数退出时, 调用析构函数清除对象 temp[2], 输出字母*, 因为对象是包含两个元素的数组, 所以调用两次析构函数, 即输出两个*。