学校选择判断

      1.设x=1.2,y=2.0,则语句z=(int )x+y:执行后,x的结果为( )

  • A. 3.2
  • B. 1
  • C. 3.0
  • D. 1.2
  • B(int) x之后有强制类型转换,把1.2变成1;
  • 2. (单选题)下面对于指针的描述不正确的是(        )

  • A. 指针是地址变量
  • B. 指针不能用除0以外的常量赋值
  • C. 两个指针变量的加减法无意义
  • D. 指针指向不同基类型的变量长度不同
  • D:指针指向所有类型的长度都一样
  • 3. (单选题)在16位机中,int型字宽为(     )字节。

  • A. 2
  • B. 4
  • C. 6
  • D. 8

6. (单选题)在C++中,关于下列设置参数默认值的描述中,(        )是正确的。

  • A. 不允许设置参数的默认值
  • B. 设置参数默认值只能在定义函数时设置
  • C. 设置参数默认值时,应该是先设置右边的再设置左边的
  • D. 设置参数默认值时,应该全部参数都设置
  • 参数值是说明或定义时直接赋值,如果实参有传值则用实参,否则用参数值,先右后左。
  • 9. (单选题)已知:int a,*pa=&a; 输出指针pa的地址值(十进制)的方法是(     )。

  • A. cout<<pa;
  • B. cout<<*pa;
  • C. cout<<&pa;
  • D. cout<<long(pa);
  • 纯记 D
  • 13. (单选题)要使p指向动态空间中的包含30个整数单元的数组使用的定义语句为(        )。

  • A. int*p=new int[30]
  • B. int*p=new int(30);
  • C. int*p=new[30];
  • D. *p=new int[30];
  • 纯记 A
  • 15. (单选题)字符串"a+b=12\n"的长度为(        )。

  • A. 6
  • B. 7
  • C. 8
  • D. 9
  • B \n是换行 不算字符 所以是7个
  • 17. (单选题)下列定义中,(        )是定义指向数组的指针p。

  • A. int *p[5]
  • B. int (*p)[5]
  • C. (int *)p[5]
  • D. int *p[]
  • 纯记 B
  • 18. (单选题)运算结果类型相同的(  )

  • A. 9.0/2.0 9.0/2
  • B. 9/2.0 9/2
  • C. 9.0/2 9/2
  • D. 9/2 9.0/2.0
  • A 整形相除会直接向下取整,如果算式中有更高精度的会直接转成更高精度的
  • 24. (单选题)在一个被调用函数中,关于return 语句使用的描述,(        )是错误的。

  • A. 被调用函数中可以不用return 语句
  • B. 被调用函数中可以使用多个return 语句
  • C. 被调用函数中,如果有返回值,就一定要有return 语句
  • D. 被调用函数中,一个return 语句可返回多个值给调用函数
  • D 一个return语句只能返回一个值
  • 32. (判断题)对于int a[1],可以用a++来指向数组的第二个元素。

  • A. 对
  • B. 错
  • B int a[1]说明该数组只有一个元素,a++指不到第二个元素
  • 36. (判断题)发生传值调用时,形参和实参各占一个独立的存储空间。

  • A. 对
  • B. 错
  • 实参和形参是各占独立存储空间,函数调用过程中,实参向形参拷贝复制值。实参是个变量,形参也是个变量。

    如果占用同一片空间的话,编译时候就不存在实参形参类型不匹配的报错

    参数传递中,形参值的改变不影响实参的值。

  • 38. (判断题)预处理过程一般在编译过程之后连接过程之前进行。

  • A. 对
  • B. 错
  • 预处理阶段,在正式的编译阶段之前进行。预处理阶段将根据已放置在文件中的预处理指令来修改源文件的内容。

25. (单选题)在派生类中重新定义虚函数时必须在(        )方面与基类保持一致。

  • A. 参数类型
  • B. 参数名字
  • C. 操作内容
  • D. 赋值
  • 在派生类中重新定义虚函数时,不需加关键字virtual但是必须要和父类中的同名,同返回类型,同参数列表

26. (单选题)带有虚基类的多层派生类构造函数的成员初始化列表中都要列出虚基类的构造函数,这样将对虚基类的子对象初始化(       D )。

  • A. 与虚基类下面的派生类个数有关
  • B. 多次
  • C. 二次
  • D. 一次

编译器在遇到这种情况时会进行特殊处理:如果构造的对象中有从虚基类继承来的成员,那么虚基类成员的初始化由而且只由最远派生类的构造函数调用虚基类的构造函数来完成。

虚基类及其派生类的构造函数_qzh_1234的博客-CSDN博客_虚基类构造函数

40. (判断题)抽象类是指一些没有说明对象的类。

  • A. 对
  • B. 错

B  抽象类是无法实例化的,无法创建对象

31. (单选题)下列各项中不符合函数重载必须满足的条件的是(       C )

  • A. 有不同的参数个数
  • B. 对应的参数类型不相同
  • C. A和B必须同时满足
  • D. A和B只要满足一个即可

参数列表不同才能实现重载,包括以下两点:参数个数不同和参数类型不同。要是只有返回值不同,参数列表和参数类型相同,则这两函数为相同函数,无法重载

21. (单选题)下列关于protected访问属性的说法,不正确的是(   )。

  • A. 在类外,类的protected成员与private成员的性质相同。
  • B. private继承方式,派生类的成员函数不可以访问基类的protected成员。
  • C. 不管以何种方式继承,派生类的成员函数总是可以访问基类的protected成员。
  • D. 对派生类来说,在私有继承方式下,其基类的protected成员与public成员的性质相同。

B 不可以访问private成员

28. 当一个类的某个函数被说明为virtual时,该函数在该类的所有派生类中(A)。

A. 都是虚函数
B. 只有被重新说明时才是虚函数
C. 只有被重新说明为virtual时才是虚函数
D. 都不是虚函数

在c++中的继承中,如果基类声明了一个函数为虚函数,那么在派生类中不用声明同名函数为虚函数(不需要加virtual)也可以实现该函数为虚函数。

     派生类继承了基类的属性,同名函数被视为与基类具有相同属性的函数。

     如果基类为纯虚函数的话,那么派生类中也不用声明为virtual函数,但是必须实现其纯虚函数。

    纯虚函数就是在定义的时候这样做:
     vitual   func()=0;

       这样做的意思是包含了纯虚函数的类不能够生成实例,这个类叫做抽象类,也就是说这个类只是包含一些接口定义。而不包括实现,这就要求它的子类必须重新定义纯虚函数的实现。而普通虚函数,子类可以选择重新定义或者不重新定义。

      抽象类  
        带有纯虚函数的类称为抽象类。抽象类具有下述一些特点:  
        (1)   抽象类只能作为基类使用,其纯虚函数的实现由派生类给出;但派生类仍可不给出纯虚函数的定义,继续作为抽象类存在。  
        (2)   抽象类不能定义对象,一般将该类的构造函数说明为保护的访问控制权限。  
        (3)   可以声明一个抽象类的指针和引用。通过指针和引用,可以指向并访问派生类对象,进而访问派生类的成员,这种访问是具有多态特征的。
基类中声明为virtual ,派生类中的同名函数_一路阳光随行的博客-CSDN博客

8. (单选题)下列不是描述类的成员函数的是 (     D   )

  • A. 构造函数
  • B. 析构函数
  • C. 友元函数
  • D. 拷贝构造函数

友元函数是外部函数

调用复制构造函数

1. 用一已知对象初始化另一对象时

2. 按传值的方式向函数传递对象时

3. 函数的返回值为对象时

11. (单选题)具有转换功能的构造函数,应该是(    B )。

  • A. 不带参数的构造函数
  • B. 带有一个参数的构造函数
  • C. 带有两个以参数的构造函数
  • D. 缺省构造函数

定义:只接受一个一个参数的构造函数才能作为转换构造函数。
对于这句话有两层含义:

  1. 构造函数在声明时,就只设置了一个参数。例如:Base(int a);
  2. 构造函数在声明时,设置了多个参数,但是其余参数都是有默认值的。例如:Base(int a,double b=12.0);

C++ 转换构造函数和转换函数_镜中月ss的博客-CSDN博客_转换构造函数的作用



 

已知:print ( )函数是一个类的常成员函数,它无返回值,下列表示中,(      A  )是正确的。

  • A. void print( )const
  • B. const void print( )
  • C. void const print
  • D. void print (const )

常成员函数

① 首先,常成员函数内部不允许进行数据成员的修改,但是可以在函数内部输出const数据成员与非数据成员!

② 其次,还可以区分同名构造函数。

C++ 常数据成员、常成员函数和常对象_空山新雨⁣的博客-CSDN博客_常成员函数

38. (判断题)一个类的构造函数中可以只对部分成员进行初始化,但当有成员对象且成员对象所属类没有无参构造函数时,必须要对成员对象进行初始化。

  • A. 对
  • B. 错

A

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值