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

admin2020-07-30  16

问题 有如下程序:
    #inc1ude<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

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

相关试题推荐
最新回复(0)