有如下程序: #inelude<iostrcam> using namespace std; class Sample{ public: Sample(){} ~Sample(){cout<<’*’;)

admin2020-07-30  14

问题 有如下程序:
    #inelude<iostrcam>
    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函数中,定义了Sample temp[2]的一个包含两个对象的数组,还定义了一个*pTemp[2],是包含两个指向类对象的指针的数组,故定义的指针当main函数结束后是不会调用析构函数的,只有包含两个对象的数组temp[2]会调用析构函数,因此只输出两个*。
转载请注明原文地址:https://kaotiyun.com/show/OWyp777K
0

最新回复(0)