当前位置: 首页 > news >正文

【01】华勤技术股份有限公司——华勤C++笔试,题目记录及解析

  • 30个先择题
    • 1.已知,int m=10,在下列表示引用的方法中正确的是( )
    • 2 .用户自定义标识符
    • 3.—个深度为4的平衡二叉树,其节点数最少有()个?
    • 7. 有以下定义
    • 8.已知枚举类型声明语句为:
    • 9.关于析构函数描述正确的是()
    • 14、下面哪种类型转换可以用作基类指针到派生类指针?
    • 15.C++中,下面设置的默认参数正确的是()
    • 17 new出来的内存无需释放,超出作用于系统会自动释放
    • 29.如果指针变量p进行自加运算(即执行p++)后的地址偏移值为1,则其数据类型为 char.
    • 30.包含虚函数的类不能生成相应的对象

30个先择题

1.已知,int m=10,在下列表示引用的方法中正确的是( )

C

int &x=m;
int &y=10;
int &x;
float &t=&m;

2 .用户自定义标识符

①只能字母或下划线开头;
②后面跟字母、数字、或 _(下划线);
③区分大小写;

3.—个深度为4的平衡二叉树,其节点数最少有()个?

D

4
5
6
7

最少7个,最多是满二叉树15个;
在这里插入图片描述

7. 有以下定义

class MyClass {
public:MyClass() { cout << 1; };
};

则执行语句MyClass a, b[2],*p[2];后,程序的输出结果是()
111

在这里插入图片描述

MyClass a, b[1], * p[2];
输出 11

在这里插入图片描述

MyClass a, b[5], * p[2];
输出 111111

在这里插入图片描述

8.已知枚举类型声明语句为:

enum COLOR{
WHITE,
YELLOW,
GREEN=5,
RED,
BLACK=10};

则下列说法中错误的是:
A,枚举类型的第一个常量默认值是0;

A. 枚举常量YELLOW的值为1
B. 枚举常量RED的值为6
C. 枚举常量BLACK的值刀10
D. 枚举常量WHITE的值为1

使用枚举类型时应该注意以下几点:
枚举类型的第一个常量默认值是0;
枚举类型常量的值允许彼此相同;
虽然枚举类型常量是整数类型,但是不允许使用整数直接赋值给枚举类型变量,也不允许与整数进行运算,只可以与整数进行比较。

9.关于析构函数描述正确的是()

B

析构函数可以重载 ---》不可以重载
析构函数可以是虚函数
析构函数名与类同名 ---》前面的~也是函数名的一部分
析构函数的范围值类型为void ---》无返回类型,不能说返回值是void类型

12.请选出下面代码的输出结果:
5 1 11

class A {
public:static int value;
};int value = 5; 
int A::value;int main() {int value = 10; A::value++; value++;std::cout <<::value << " " << A :: value << " " << value << std::endl;return 0;
}

在这里插入图片描述

::value  //全局valueA :: value  //class A作用域下valuevalue  //局部变量value

14、下面哪种类型转换可以用作基类指针到派生类指针?

dynamic_cast

static_cast
const_cast
dynamic_cast
以上都不行

C++ static_cast、dynamic_cast、const_cast和reinterpret_cast(四种类型转换运算符)

继承中类型转换的两种方式:
1.向上转型
将子类对象转换成父类类型,例如:

  • Pet pet=new Dog();
  • 此类型转换为自动转换;
  • 因为子类的功能比父类更加强大,相当于让一个能力强的对象去做一件简单的事情,因此可以自动转换完成;

2.向下转型
将父类对象转换为子类类型,例如:

  • Pet pet=new Pet();
  • Dog dog=(Dog)pet;
  • 此类型转换为强制转换;
  • 因为反之,父类的功能要弱于子类,因此需要强制转换;

15.C++中,下面设置的默认参数正确的是()

D

void fun(int x=O,int y,int z)
short fun(int x=O,int y=0,int z)
float fun(int x=O,int y,int z=O)
double fun(int x,int y=O,int z=0)

C++规定,默认参数只能放在形参列表的最后,而且一旦为某个形参指定了默认值,那么它后面的所有形参都必须有默认值。 实参和形参的传值是从左到右依次匹配的,默认参数的连续性是保证正确传参的前提。

下面的写法是正确的:

void func(int a, int b=10, int c=20){ }
void func(int a, int b, int c=20){ }

但这样写不可以:

void func(int a, int b=10, int c=20, int d){ }
void func(int a, int b=10, int c, int d=20){ }

17 new出来的内存无需释放,超出作用于系统会自动释放

1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。局部变量,参数变量存放在栈中,当离开作用范围后,分配的内存在作用范围外会被系统自动回收。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。new出来的内存空间存放在堆中,不受作用域管理,不会被系统自动回收,只有在使用delete删除或者整个程序结束后才会释放内存。

29.如果指针变量p进行自加运算(即执行p++)后的地址偏移值为1,则其数据类型为 char.

#include <stdio.h>int main() {char a[5] = { 'a','b','c' };char* p = a;printf("%p\n",p);p++;printf("%p\n\n", p);int b[5] = { 'a','b','c' };int* q = b;printf("%p\n", q);q++;printf("%p\n", q);return 0;
}

可以看到p++后,地址加一后;
char型地址加1,int型地址加4;
在这里插入图片描述
指针标记本身所占大小,不管是char还是int 在64位系统中都是8字节,32位系统则是4字节;

printf("sizeof(p) = %d\n", sizeof(p));
printf("sizeof(q) = %d\n", sizeof(q));

在这里插入图片描述

30.包含虚函数的类不能生成相应的对象

这得分清楚含有纯虚函数的类与虚基类是两个不同的概念。
(1)含有纯虚函数的类是不能创建对象
(2)虚基类是指在继承的时候,通过虚继承的方式,继承的基类。
含有纯虚函数的类在继承的时候,可以不加virtual关键字,因此可以不是虚基类
只要在继承的时候,加了virtual关键字,都是虚基类,这与基类中是否有纯虚函数无关
http://www.dtcms.com/a/324968.html

相关文章:

  • Java基础-使用反射做一个简易框架
  • Python 实例属性和类属性
  • 【PyTorch】单目标检测项目
  • vulnhub-Drippingblues靶机
  • Typora结合PicGo + 使用Gitee搭建个人免费图床
  • 计算机网络---IP(互联网协议)
  • 2025年6月电子学会全国青少年软件编程等级考试(Python六级)真题及答案
  • 二叉树进阶 之 【二叉搜索树的简介与模拟实现的前提准备】
  • 【杂谈】-智能代理+可观察性:构建下一代复杂系统监控体系
  • UE5多人MOBA+GAS 41、制作一个飞弹,添加准心索敌
  • JS实现数组扁平化
  • 计算二分类误差时的常见错误及解决方案
  • ubuntu22.04+samba
  • VMware 使用 Ubuntu 一段时间后逐渐卡顿、甚至卡死的问题
  • sqli-labs-master/Less-51~Less-61
  • 解读 GPT-5:从“博士级 AI 专家”能力到 OpenAI API Key 获取与实践(提示工程→性能调优全流程)
  • MySQL自增ID与UUID的区别及其在索引分裂中的表现与优化
  • W3D引擎游戏开发----从入门到精通【23】
  • 2013年考研数学(二)真题
  • A#语言详解
  • 相比于传统的全波分析,特征模分析具有哪些优点
  • vue如何监听localstorage
  • 博览会(树形DP)
  • 机器学习——标准化、归一化
  • Spring Boot 事务详解:原理与实操指南
  • AQS(AbstractQueuedSynchronizer)底层源码实现与设计思想
  • 第三章-提示词:从0到1,提示词实训全攻略,解锁大语言模型无限潜能(14/36)
  • MyBatis Mapper核心组件协作关系深度解析
  • Java条件判断与用户交互实战案例
  • 【经典算法】二叉树最小深度详解:递归解法与可视化分析