已知一个类A的定义如下,则执行“Ax(3); ”语句后,x.a和x.b的值分别为 ______。 class A { int a, b; public: A(int aa=1,int bb=0){a=aa;b=bb} ; }A.1和0B.3和1C.1和3D.3和0

题目

已知一个类A的定义如下,则执行“Ax(3); ”语句后,x.a和x.b的值分别为 ______。 class A { int a, b; public: A(int aa=1,int bb=0){a=aa;b=bb} ; }

A.1和0

B.3和1

C.1和3

D.3和0


相似考题
更多“已知一个类A的定义如下,则执行“Ax(3); ”语句后,x.a和x.b的值分别为 ______。class A{ int a, b; p ”相关问题
  • 第1题:

    类MyClass的定义如下: class MyClass { public: MyClass(){value=0;} SetVariable(int i){value=i} private: int value; }; 则对下列语句序列正确的描述是( )。 MyClass*P,my;p=&my;

    A.语句p=&my;是把对象my赋值给指针变量P

    B.语句MyClass*p,my;会调用两次类MyClass的构造函数

    C.对语句*P.SetVariabte(5)的调用是正确的

    D.语句p->SetVariable(5)与语句my.SetVariable(5)等价


    正确答案:D
    解析: 语句p=&my,是把对象my的地址值赋值给指针变量P;语句MyClass*p,my;,由于p只是一个指向对象的指针,因此定义指针p不调用构造函数,所以此语句只调用一次构造函数;讨成员函数的引用可以通过两种形式:指针->成员函数(形参表)或者对象名、成语函数名(形参表)。

  • 第2题:

    有如下定义语句:int a[]={1,2,3,4,5};,则对语句int*p=a;正确的描述是( )。

    A.语句int*p=a;定义不正确

    B.语句int*p=a;初始化变量p,使其指向数组对象a的第一个元素

    C.语句int*p=a;是把a[0]的值赋给变量p

    D.语句iht*p=a;是把a[l]的值赋给变量p


    正确答案:B

  • 第3题:

    若类A和类B的定义如下: class A { int i,j; public: int geti () { return i; } }; class B : public A { int k; public: void make () { k=i*j; } }; 则上述定义中非法的语句是

    A.k=i*j;

    B.int k;

    C.return i;

    D.void make()


    正确答案:A
    解析:本题考核派生类的定义和访问权限。变量i和j都是基类A的私有变量,它们是隐蔽的,在派生类中不能直接访问。

  • 第4题:

    类定义如下: class TestClass { public: TestClass (){cout<<1;} }; 则执行语句TestClass a,b[2] ,*p[2];后,程序的输出结果是( )。

    A.11

    B.111

    C.1111

    D.11111


    正确答案:B
    解析:类定义如下:  class TestClass  {  public:  TestClass (){cout1;}  };  则执行语句TestClass a,b[2] ,*p[2];后,程序的输出结果是(  )。

  • 第5题:

    有如下类定义:class Point{int x__, y__;public:Point(): x_(0), y_(0) {}Point(int x, int y =0): x_(x), y_(y) {}若执行语句Point a(2),b[3], *c[4];则Point 类的构造函数被调用的次数是( )。

    A.2次

    B.3次

    C.4次

    D.5次


    正确答案:C

  • 第6题:

    有如下类定义: class Test { int x_,y_; public: Test ():a_(0) ,b_(0) {} Test(int a,int b=0) :a_(a),b_(b){} }; 若执行语句 Test x(2) ,y[3],*z[4]; 则Test类的构造函数被调用的次数是( )。

    A.2次

    B.3次

    C.4次

    D.5次


    正确答案:C
    解析:定义对象x时执行一次构造函数(调用Test(int a,int b=0) ),定义对象数组y时,构造函数(注意,该构造函数必须是没有任何参数的)的执行次数与数组中对象的个数相等,即需要执行3次,最后定义一个指向Test对象的指针数组,它并不会创建对象,从而也就不会去执行构造函数,故构造函数一共执行了4次。

  • 第7题:

    假定一个类的构造函数为 “A(int aa, int bb) {a=aa; b=aa*bb;}”,则执行 “A  x(4,5);”语句后,x.a和x.b的值分别为()

    • A、 4和5
    • B、 5和4
    • C、 4和20
    • D、 20和5

    正确答案:C

  • 第8题:

    假定一个类的构造函数为“A(intaa=1,intbb=0){a=aa;b=bb;}”,则执行“Ax(0);”语句后,x.a和x.b的值分别为()。

    • A、0和0
    • B、0和1
    • C、1和0
    • D、1和1

    正确答案:A

  • 第9题:

    假定一个类的构造函数为 “A(int aa=1, int bb=0) {a=aa; b=bb;}”,则执行 “A x(4);”语句后,x.a和x.b的值分别为()

    • A、 1和0
    • B、 1和4
    • C、 4和1
    • D、 4和0

    正确答案:D

  • 第10题:

    单选题
    假定一个类的构造函数为A(int aa, int bb) { a = aa--; b = a * bb; } ,则执行Ax(4,5);语句后,x.a和x.b的值分别为(  )。
    A

    3和l5

    B

    5和4

    C

    4和20

    D

    20和5


    正确答案: D
    解析:
    因为aa后减,所以a=4;b的值与a、bb相关,B=4*5=20,
    与aa没有任何关系。

  • 第11题:

    单选题
    假定一个类的构造函数为“A(intaa=1,intbb=0){a=aa;b=bb;}”,则执行“Ax(0);”语句后,x.a和x.b的值分别为()。
    A

    0和0

    B

    0和1

    C

    1和0

    D

    1和1


    正确答案: B
    解析: 暂无解析

  • 第12题:

    单选题
    假定一个类的构造函数为A(intaa,intbb){a=aa--;b=a*bb;},则执行Ax(4,5);语句后,x.a和x.b的值分别为()
    A

    3和15

    B

    5和4

    C

    4和20

    D

    20和5


    正确答案: B
    解析: 暂无解析

  • 第13题:

    已知“int a=2,b=2,c=3:”,则执行完语句“a*=18 (b )-( c);”后,a的值是__________。


    正确答案:
    32【解析】本题考查自加运算符( )和自减运算符(--)。 和一的几个特点:①只能作用于变量,不能作用于表达式或常量;②前缀形式是在使用变量之前先将其值加1或减1,后缀形式是先使用变量原来的值,使用完后再使其加1或减1,题中: c计算时c=4,b 计算时b=2,18 (b )-( c)=16,a*=16等价于a=a?16=2?16,得a=32。

  • 第14题:

    有如下定义语句:int a[]={1,2,3,4,5);,则对语句int *p=a;正确的描述是( )。

    A.语句int *p=a;定义不正确

    B.语句int *p=a;初始化变量p,使其指向数组对象a的第一个元素

    C.语句int *p=a;是把a[0]的值赋给变量p

    D.语句int *p=a;是把a[1]的值赋给变量p


    正确答案:B

  • 第15题:

    若类A和类B的定义如下:includeclass A{int i*j;public:int geti(){return i;}};class

    若类A和类B的定义如下: #include<malloc.h> class A { int i*j; public: int geti() { return i; } }; class B: public A { int k; public: void make() { k=i*j; } ); 则上述定义中非法的表达式是( )。

    A.k=i*j;

    B.int k;

    C.return i;

    D.void make();


    正确答案:A
    解析:因为派生类不能访问基类的私有成员i和j(默认情况下,成员的属性为私有),所以表达式k=i*j是非法的。其余的访问权限都是许可的。

  • 第16题:

    类MyClass的定义如下: class MyClass { public: MyClass(){value=0;} SetVariable(int i){value=i;) private: int value; }; 则对下列语句序列正确的描述是( )。

    A.MyClass*p,my;p=&my;

    B.语句p=&my;是把对象my赋值给指针变量p

    C.语句MyClass*p,my;会调用两次类MyClass的构造函数

    D.对语句*p.SetV ariable(5)与语句my.SetVariable(5)等价


    正确答案:D

  • 第17题:

    已知类X的定义如下,为了实现将对象成员k的值修改为678,下面的哪条语句是正确的 ______。 class X{ private: int k; public: K(int n){k=n;} set(int n){k=m;} }; void fun(){ X a(10),*p=&a; ______ }

    A.p->set(678);

    B.X(678):

    C.p->k=678;

    D.p.set(678);


    正确答案:A

  • 第18题:

    已知指针p的指向如下图所示,则执行语句“--p;”后p的值是______。

    A.30

    B.20

    C.19

    D.29


    正确答案:B

  • 第19题:

    假定一个类的构造函数为 “B(int ax, int bx): a(ax), b(bx) {}”,执行 “B x(1,2),y(3,4);x=y;”语句序列后x.a的值为()

    • A、 1
    • B、 2
    • C、 3
    • D、 4

    正确答案:C

  • 第20题:

    假定一个类的构造函数为"A(intaa,intbb){a=aa;b=aa*bb;}”,则执行“Ax(4,5);”语句后,x.a和x.b的值分别为()。

    • A、4和5
    • B、5和4
    • C、4和20
    • D、20和5

    正确答案:C

  • 第21题:

    单选题
    假定一个类的构造函数为 “B(int ax, int bx): a(ax), b(bx) {}”,执行 “B x(1,2),y(3,4);x=y;”语句序列后x.a的值为()
    A

     1

    B

     2

    C

     3

    D

     4


    正确答案: C
    解析: 暂无解析

  • 第22题:

    单选题
    假定一个类的构造函数为"A(intaa,intbb){a=aa;b=aa*bb;}”,则执行“Ax(4,5);”语句后,x.a和x.b的值分别为()。
    A

    4和5

    B

    5和4

    C

    4和20

    D

    20和5


    正确答案: B
    解析: 暂无解析

  • 第23题:

    单选题
    假定一个类的构造函数为 “A(int aa, int bb) {a=aa; b=aa*bb;}”,则执行 “A  x(4,5);”语句后,x.a和x.b的值分别为()
    A

     4和5

    B

     5和4

    C

     4和20

    D

     20和5


    正确答案: B
    解析: 暂无解析