niusouti.com

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

题目
有如下程序: include using namespace std; class Sample{ public:

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


相似考题
更多“有如下程序: #include<iostream> using namespace std; class Sample{ public: ”相关问题
  • 第1题:

    有如下程序:includeusing namespace std;int s=0;class sample{ static int n;public

    有如下程序: #include<iostream> using namespace std; int s=0; class sample { static int n; public: sample(int i) { n=i; } static void add() { s+=n; } }; int sample::s=0; int main() { sample a(2),b(5); sample::add(); cout<<s<<endl; return 0; } 程序运行后的输出结果是

    A.2

    B.5

    C.7

    D.3


    正确答案:B
    解析:本题考核静态数据成员和静态成员函数的应用。程序中定义一个类sample,它包括一个静态数据成员n和一个静态成员函数add,并在类的构造函数中给类私有静态数据成员n赋值。在主函数main中,定义对象a(2)时,通过构造函数使静态数据成员n的值变为2,在定义对象b(5)时,通过构造函数使静态数据成员n=5(覆盖了前面的n=2),再执行sample::add()使全局变量s=5。

  • 第2题:

    执行如下程序,输出星号(*)的个数为includeusing namespaee std;class Sample{public:

    执行如下程序,输出星号(*)的个数为 #include<iostream> using namespaee 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
    解析:类在创建对象时调用构造函数,在撤销对象时调用析构函数,而在定义类指针时则不调用构造函数和析构函数。sampie temp[2]定义了一个2个元素的对象数组,因此调用两次析构函数,打印2个*。

  • 第3题:

    有以下程序:includeusing namespace std;class sample{private:int n; public: sampl

    有以下程序: #include<iostream> using namespace std; class sample { private: int n; public: sample(){} sample(int m) { n=m; } sample add(sample s1,sample s2) { this->n=s1.n+s2.n; return(*this); }

    A.n=10

    B.n=5

    C.n=20

    D.n=15


    正确答案:D
    解析:本题考核this指针的应用。上述程序中,sample类的add成员函数中使用了this指针,this指针指向当前对象自身,该成员函数中的语句:this->n=s1.n+s2.n;,用于修改当前对象的数据成员n的值,语句:return(*this);用于返回当前对象自身,即对当前对象进行了修改。对于main()函数调用add成员函数语句“s3.add(s1,s2);”。此时,this指针指向的是对象s3,执行该语句前,s3的数据成员n未赋值,执行完该语句后,就修改了s3的私有成员n的值,使其为15。

  • 第4题:

    有以下程序:includeusing namespace std;Class sample{private:int n;public:sample(

    有以下程序: #include<iostream> using namespace std; Class sample { private: int n; public: sample(){} sample(int m) { n=m; } sample add(sample s1,samplc s2) { this-->n=s1.n+s2.n; return(*this); } void disp(

    A.n=10

    B.n=5

    C.n=20

    D.n=15


    正确答案:D
    解析: 本题考查this指针的使用类成员函数add中通过this指针实现私有数据成员n的赋值。

  • 第5题:

    若有如下程序:includeusing namespace std;int s=0;class sample{static int n;publi

    若有如下程序: #include<iostream> using namespace std; int s=0; class sample { static int n; public: sample(int i) { n=i; } static void add() { S+=n; } }; int sample::n=0; int main() { sample a(2),b(5); sample::add(); cout<<s<<endl; return 0; } 程序运行后的输出结果是( )。

    A.2

    B.5

    C.7

    D.3


    正确答案:B