itgle.com

下面程序的运行结果为#include(iostream. h>class A{int num;public:A(int i){num=i;}A(A &a){num=a. num++;}void print(){cout<};void main(){A a(1),b(a);a. print();b.print();A.11B.12C.21D.22

题目

下面程序的运行结果为

#include(iostream. h>

class A

{

int num;

public:

A(int i){num=i;}

A(A &a){num=a. num++;}

void print(){cout<

};

void main()

{

A a(1),b(a);

a. print();

b.print();

A.11

B.12

C.21

D.22


相似考题
更多“下面程序的运行结果为 #include(iostream.h&gt; classA { intnum; public: A(inti){num ”相关问题
  • 第1题:

    下面程序的运行结果为include < iostream.h >class A{ static int n;public:A( ){n=1;}A(int nu

    下面程序的运行结果为 #include < iostream.h > class A { static int n; public: A( ){n=1;} A(int num){ n = num;} void print( ){cout<< n;} }; int A::n=2; void main( ) { A a,b (3); a.print( ); b.print( ); cout<< end1; }

    A.11

    B.13

    C.23

    D.33


    正确答案:D
    解析:本题考查的是静态数据成员的使用,n为类A的静态成员,即为类A的所有对象共有的成员,所以,当对象b把n初始化为3时,对象a的成员n的值也为3(这两个n实际上是同一个)。

  • 第2题:

    下面程序的运行结果为includeclass A{static int n;public: A(){n=1;} A(intnum){n

    下面程序的运行结果为 #include<iostream.h> class A { static int n; public: A(){n=1;} A(intnum){n=num;} void print(){cout <<n;} }; int A∷n=2; void main() { Aa,b(3); a.print(); b.print(); cout <<end1; }

    A.11

    B.13

    C.23

    D.33


    正确答案:D
    解析:本题考查的是静态数据成员的使用,n为类A的静态成员,即为类A的所有对象共有的成员,所以,当对象b把n初始化为3时,对象a的成员n的值也为3(这两个n实际上是同一个)。

  • 第3题:

    3、下面程序的运行结果为()。 #include<iostream> using namespace std; class A { static int n; public: A(){n=1;} A(int num){n=num;} void print(){cout<<n;} }; int A::n=2; int main() { A a,b(3); a.print(); b.print(); cout<<endl; }

    A.11

    B.13

    C.23

    D.33


    4

  • 第4题:

    下面程序的运行结果为includeclass A{ int num;public: A(int){num=i;} A(ABm){num

    下面程序的运行结果为 #include<iostream.h> class A { int num; public: A(int){num=i;} A(ABm){num=a.num++;} void print(){cout<<num;} }; void main() { Aa(1),b(a); a.print(); b.print(); }

    A.11

    B.12

    C.21

    D.22


    正确答案:C
    解析:本题;号查考生对拷贝构造函数的掌握。因为++运算是右结合的,所以在使用a对b赋值时,b的num变为l而a的num变为2(先赋值再自加)。

  • 第5题:

    下面程序的运行结果为( )。 #include<iostream.h> classA { intnum; public: A(inti){num=i;) A(A&a){num=a.num++;} voidprint(){cout<<num;} }; voidmain() { Aa(1),b(a);

    A.print();

    B.print(); }

    C.11B.12

    D.21D.22


    正确答案:C
    C。【解析】本题考查考生对拷贝构造函数的掌握。因为++运算是右结合的,所以在使用a对b赋值时,b的hum变为1,而a的num变为2(先赋值再自加)。