143-牛客网C++刷题9

2023-05-16

1.不定义第三个变量,交换两个变量的数据
x+=y;
y=x-y;
x-=y;

2.常量可以是任何的基本数据类型,可分为整型数字、浮点数字、字符、字符串和布尔值

3.在C++中,可以被派生类继承的函数是()?

A.成员函数
B.构造函数
C.析构函数
D.友元函数

答案:A

解析:
1.构造函数不能为 virtual, 构造函数不能继承
2. 如果子类不显式调用父类的构造函数,编译器会自动调用父类的【无参构造函数】
3. 在C++中,派生类把基类中所有的成员继承过来,除了构造函数和析构函数友元函数不属于类,它只是给类开了一个后门 本来类外不可以访问类的私有成员,通过友元函数就可以,所以不能继承。
4. 子类继承父类,那么默认的,就是继承了父类的成员函数和成员变量
5. 初始化子类时,会先自动调用父类的构造函数。然后才调用子类的构造函数,析构时,按相反顺序进行。 构造从类层次的最根处开始,在每一层中,首先调用基类的构造函数,然后调用成员对象的构造函数。析构则严格按照与构造相反的次序执行,该次序是唯一的,否则编译器将无法自动执行析构过程。不能继承,由他们的功能决定

4.以数组名作函数参数时,实参数组与形参数组都不必定义长度,因此实参与形参的结合方式是地址结合,与数组长度无关。请问这句话的说法是正确的吗?

答案:B

解析:一维数组适用,二维数组就不适用了,二维数组一定要给出第二维的长度

5.以下哪项不属于STL container()

A.stack
B.queue
C.multimap
D.string

答案:D

解析:STL container分为两大类:
序列容器:动态数组vector,双端队列deque(本质是动态数组加索引),链表list
关联容器:set,map,multiset,multimap,bitset(叫bit_array更合适)
容器适配器:stack,queue,priority_queue

6.静态成员存在于内存,非静态成员需要实例化才会分配内存
非静态成员可以直接访问类中静态的成员
非静态成员的生存期决定于该对象的生存期,而静态成员生存期则与程序生命期相同

7.以下程序段的执行结果是()

double x = 218.82631;
printf("%-6.2e\n", x);

A.输出格式描述符的域宽不够,不能输出
B.输出为21.38e+01
C.输出为2.19e+02
D.输出为-2.14e2

答案:C

解析:
%:表示格式说明的起始符号,也是转义符号,有一题 printf(“%%%%”)输出几个?答案输出%% 两个
-:有-表示左对齐输出,如省略或+表示右对齐输出
0:有0表示指定空位填0,如省略表示指定空位不填
m.n m指域宽,即对应的输出项在输出设备上所占的字符数。
n指精度。用于说明输出的实型数的小数位数。没有指定n时,隐含的精度为n=6位,超过就按实际输出,不足时看是左对齐还是右对齐,左对齐在后面补空格,右对齐在前面补空格)(这里输出的字符数是8,所有符号都算上)
e格式表示以指数形式输出实数
那么这题的意思是以左对齐、指数形式、总长度m =6、小数n=2两位输出

8.如何引用一个已经定义过的全局变量?

答案:用extern关键字方式

9.下列哪两个是等同的

	int b;
	1.const int *a = &b;
	2.const * int a = &b;
	3.const int* const a = &b;
	4.int const* const a = &b;

答案:3,4

解析:1.const 修饰 int ,const 修饰 *a,*a的值不能变,a的值可以改变,b的值不可以改变
2.语法错误
3.const 修饰 int * ,指针的指向不能改变,const 修饰 a,a的值不能变,b的值也不能改变
4.const 修饰 int * ,指针的指向不能改变,const 修饰 a,a的值不能变,b的值也不能改变

10.下面四个选项中,均是正确的数值常量或字符常量的选项是()

A.0.0 0f 8.9e ‘&’
B.“a” 3.9e-2.5 lel ‘\”’
C.’3’ 011 0xff00 0a
D.+001 0xabcd 2e2

答案:D

解析:
A中0f、8.9e是非法的数值常量,e后面必须有一个整数,不可以是非整数
B中“a”是字符串常量,是非法的数值常量或字符常量
C中0a是非法的数值常量,0a 中的0是表示8进制,a不能出现在8进制的数字里
D中+001是8进制的1

11.面向对象程序设计方法的优点包含:可重用性、可扩展性、易于管理和维护

12.函数变量val的内存地址位于()

void foo() {
    static int val;
    ……
}

答案:未初始化数据段

13.有以下类定义,若有语句定义rectangle r; r.setLength(3,5); 则编译时无语法错误的语句是?

#include <iostream>
using namespace std;
class shape 
{public:  
        virtual int area()=0;
};  
class rectangle:public shape 
{public: 
        int a, b;  
        void setLength (int x, int y) {a=x;b=y;} 
        int area() {return a*b;} 
};

A.shape *s1=&r;
B.shape &s2=r;
C.shape s3=r;
D.shape s4[3];

答案:当一个类中有一个或多个纯虚函数的时候,这个类就自动成为了抽象类,即不可以实例化,shape 是一个抽象类,不能实例化对象,但是可以定义指针和引用

14.对于函数重载,下面说法错误的是?

A.函数名不同,但形参的个数与类型相同
B.函数名相同,但形参的个数与类型不同
C.函数名相同,但形参的个数与类型也相同
D.函数名相同,返回值不同,与形参无关

答案:ACD

解析:重载:函数名相同,参数列表不同(参数的个数、类型或者顺序必须不同)

15.普通函数、构造函数、友元函数、静态成员函数、内联成员函数都不能被声明为虚函数

16.在C++里,同一个模板的声明和定义是不能在不同文件中分别放置的,否则会报编译错误。为了解决这个问题,可以采取以下办法有

A.模板的声明和定义都放在一个.h文件中
B.模板的声明和定义可以分别放在.h和.cpp文件中,在使用的地方,引用定义该模板的cpp文件
C.使用export使模板的声明实现分离
D.以上说法都不对

答案:ABC

解析:
B:模板的声明和定义不能分别单独的放在.h和.cpp文件中的原因是当实例化一个模板时,编译器必须看到模板确切的定义,而不仅仅是它的声明。若在main()函数中包含.h文件,则编译器无法知道模板的确切定义,所以要在main()中包含.cpp文件,.cpp文件中又会包含.h文件,这样一来通过在main函数中包含.cpp文件就会将类的定义和声明都包含进来,编译器自然能找到模板的确切定义

17.函数模板的实例化是由编译程序在处理函数调用时自动完成的
类模板的实例化必须由程序员在程序中显式地指定

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

143-牛客网C++刷题9 的相关文章

  • 记录:在ubuntu中以C语言实现json文件读取遇到的问题(1)(说不定会有2)

    4 12 记录在ubuntu中以C语言实现json文件读取遇到的问题 xff08 1 xff09 xff08 说不定会有2 xff09 暂记录遇到的问题及解决 xff0c 其中还有些原因没有搞明白 xff09 1 首先过程参考自一位大佬的博
  • 标量/向量/矩阵求导方法

    这篇博客源于在看论文时遇到了一个误差向量欧氏距离的求导 xff0c 如下 xff1a 在看了一堆资料后得出以下结论 xff1a 这个结论是怎么来的呢 xff1f 这就涉及标量 向量 矩阵的求导了 由于标量 向量都可以看做特殊的矩阵 xff0
  • 自学笔记:单片机蜂鸣器(包含程序)

    蜂鸣器的工作原理 xff08 搬运 xff09 蜂鸣器主要分为压电式蜂鸣器 无源蜂鸣器 和电磁式蜂鸣器 xff08 有源蜂鸣器 xff09 两种类型 压电式蜂鸣器 主要由多谐振荡器 压电蜂鸣片 阻抗匹配器及共鸣箱 外壳 等组成 多谐振荡器由
  • Invalid bound statement (not found):常见报错原因解决

    问题场景 xff1a 在SpringMVC项目中 xff0c 通过mapper接口加载映射文件 xff0c 完成数据库的操作 问题描述 报错 xff1a Invalid bound statement not found 原因分析 xff1
  • 记录一次策略模式优化代码案例

    策略模式优化案例 优化之前 优化之后 把原来的switch case 用接口方式实现 bean 注入采用map方式 key为 实现类的名称 xff0c value为实现类的bean xff0c 在所有bean注入之后执行init 方法 xf
  • 树莓派无屏幕连接

    无屏幕通过VNC显示树莓派远程桌面 我自己本来是有一个7寸屏幕的 xff0c 但是因为机器人那边需要看IP地址 xff0c 我就把屏幕装在机器上上面了 xff0c 只能vnc连接了 刷好系统的时候 xff0c 现在版本的树莓派是默认没有ss
  • SMPL论文解读和相关基础知识介绍

    SMPL论文解读和相关基础知识介绍 本文首发于微信公众号 视觉三维重建 欢迎大家关注公众号 和你分享计算机视觉算法工程师工作的点点滴滴 文章目录 SMPL论文解读和相关基础知识介绍 1 动画制作专业术语 2 SMPL 2 1 简介 2 2
  • 学术论文阅读方法

    文章目录 学术论文阅读过程大量阅读学术论文方法 xff1a 目的 xff1a 复现优秀论文提出创新点整理成文 看不懂怎么办幻灯博客视频课程代码 More研究生生活工作业务要求英语老师建议 近期基本完成机器学习和深度学习的学习 xff0c 开
  • 微信小程序未读消息右上角红点数字显示

    从weui中获得灵感 xff0c 稍微改造 xff0c 效果还不错 在消息数量为1 99时正常显示即可 xff0c 而大于99时显示99 43 使用wx if搞定 wxml部分 xff1a span class token tag span
  • [2022]李宏毅深度学习与机器学习第十五讲(必修)-Meta Learning

    2022 李宏毅深度学习与机器学习第十五讲 xff08 必修 xff09 Meta Learning 做笔记的目的Meta LearningML vs meta learningWhat is learnable in learning a
  • 浅谈esp8266

    esp8266 前言简单介绍esp8266esp8266的开发方式主流应用结语 前言 很早就听说了esp8266 xff0c 作为物联网上的入门级产品 xff0c 有一段时间曾在b站上掀起过一阵风潮 xff0c 什么用来获取显示b站粉丝量
  • 【无标题】

    一级标题1 QGC二次开发方法 手段 xff08 包括基本介绍 xff09 一级标题2 QGC编译过程步骤以及中遇到的问题和相应的解决办法 1 QGC二次开发方法 手段 xff08 包括基本介绍QGC和QT xff09 QGC二次开发工具
  • 实数插值方法及其 python 实现

    本文主要介绍两种常用的实数插值方法 xff1a 拉格朗日 xff08 Lagrange xff09 插值 以及 牛顿 xff08 Newton xff09 插值 及其python实现 运行效果如下 xff1a 目录 1 拉格朗日插值 2 牛
  • VS CMake 禁止警告

    cmake minimum required VERSION 3 0 project DiableWarn if WIN32 add compile options W4 add compile options wd4100 add com
  • Failed to read artifact descriptor for xxx:jar maven deploy的问题解决

    Failed to read artifact descriptor for xxx jar maven deploy的问题解决 问题描述问题分析可用方案 问题描述 我们项目使用的自定义jar包 xff0c 上传到私服仓库中 xff0c 其
  • 移动通信中的信道编码基础

    线性分组码 假设信源输出为有限域GF xff08 2 xff09 上连续的二元符号序列 xff0c 称为消息序列 在分组码中每一个消息分组含有k个信息比特 xff0c 一共有2k个不同的消息 xff0c 对应2k个不同的码字 所有码字的集合
  • 【Linux多线程服务端编程】| 【01】线程安全的对象生命期管理笔记

    文章目录 索引一 线程安全的对象生命期管理1 1 析构函数遇多线程1 2 对象销毁1 3 线程安全的observer多难1 4 原始指针有什么不好的地方1 5 shared ptr或weak ptr1 6 系统地避免指针错误1 7 应用到O
  • 计算机保研面试题总汇(网上搜集的题 自己写的答案)

    文章目录 计算机专业知识数学方向内容高数线代概率论 其他 计算机专业知识 哪些图算法中用到了动态规划的思想 xff1f Floyd算法 背包算法 TSP 进程之间的通信方式 管道Pipe 命名管道FIFO 消息队列MQ 共享存储 信号量 套
  • VSLAM框架:ORB_SLAM2采用ROS Bag获取数据

    ORB SLAM2采用ROS Bag获取数据 前言一 ROS bag数据1 ROS bag简介2 获取数据集3 查看数据集信息 二 配置文件1 配置ros文件2 配置内参文件三 启动节点1 回放ROS bag数据集2 深度相机节点 前言 之
  • for无限循环

    span class token keyword int span i span class token operator 61 span span class token number 0 span span class token pu

随机推荐

  • Dockerfile【超级详细】

    Dockerfile 基础知识 FROM 基础镜像 xff0c 一切从这里开始构建 MAINTAINER 镜像是谁写的 xff0c 姓名 43 邮箱 RUN 镜像构建的时候需要运行的命令 ADD 步骤 xff0c tomcat镜像 xff0
  • VDO(虚拟数据优化器)原理及配置

    1 原理 VDO xff08 Virtual Data Optimize xff09 是RHEL8 Centos8上新推出的一个存储相关技术 xff08 最早在7 5测试版中开始测试 xff09 xff0c 是Redhat收购的Permab
  • 2022爱分析·SD-WAN市场研究报告 | 爱分析报告

    报告编委 报告指导人 黄勇 爱分析 合伙人 amp 首席分析师 报告执笔人 潘天 爱分析 高级分析师 易丹 爱分析 分析师 于婉贞 爱分析 分析师 目录 1 SD WAN重构企业广域网接入市场 2 重点行业先发 xff0c SD WAN市场
  • numpy 对二维数组的常用操作

    目录 1 提取二维数组的某几列或某几行 2 获取某个范围的数据 3 所有元素求和 4 计算数组中非零元素的个数 5 使用布尔型掩码提取某些行或某些列 6 获取数组的行数或列数 7 获取最后一列 xff08 或行 xff09 的元素 8 获取
  • 群起集群 DataNode 没有启动的解决方法

    错误 启动服务 xff0c 发现没有DataNode没有启动 此原因是namenode和datanode的clusterID不一致导致datanode无法启动 产生的原因 是多次hdfs namenode format而造成的 每一次格式化
  • ajax实现图片的回显功能

    前端页面 给文件上传域绑定一个改变事件 lt tr gt lt td class 61 34 three 34 gt 图片介绍 lt td gt lt td gt lt br gt lt div id 61 34 imgDiv 34 sty
  • 为ESP8266编译时出错

    图 1 当出现图1的问题时 xff0c 是因为我们的文件扩展名为 c 实测当我们将文件扩展名改为 cpp的时候就能如图二一样正常编译 图2 由于C 43 43 是全面兼容C的 xff0c 即使我们之前使用的是C语言 xff0c 在更改文件后
  • 点云上的深度学习及其在三维场景理解中的应用————3D Scene Understanding with PointNet and PointNet++(三)

    最近在学3D方向的语义分析 师兄推荐了一个哔哩大学的将门创投 斯坦福大学在读博士生祁芮中台 xff1a 点云上的深度学习及其在三维场景理解中的应用 xff01 的宝藏视频 xff0c 我会多看几遍 xff0c 并写下每次观看笔记 up主的个
  • https://img-blog.csdnimg.cn/44575f55b6a7431392616b45e051dd2e.png——分割线专用图专用图

    https img blog csdnimg cn 44575f55b6a7431392616b45e051dd2e png
  • ROS小车——摄像头的使用(3)

    文章目录 前言一 摄像头驱动和图像的查看1 摄像头驱动2 图像的查看 二 Opencv人脸检测1 启动人脸检测应用2 虚拟机查看3 虚拟机查看人体检测4 人脸识别应用 前言 ROS小车的摄像头驱动和图像的查看 xff0c 以及opencv的
  • STM32:结构体总结

    1 什么是结构体 我们知道数据的基本类型有 int 整形 char 字符形 unsigned int 无符号整形 unsigned char 无符号字符形 等 还包括数组等 但有些情况下 这些都 无法满足现实的需求 于是程序员把所需变量组织
  • opencv面试题

    数字图像的概念和起源 常见的成像方式 图像直方图 有什么用 xff1f 图像二值化 含义 xff1a 纵轴是像素的个数 xff0c 左到右是黑色到白色 图像平移 图像缩放 xff1a 图像缩放必然会涉及图像插值 最近邻插值 xff1a 如何
  • 力扣刷题(c++日常总结)

    map 的几种遍历方式 for auto k v map cout lt lt k lt lt v lt lt endl for auto kv map cout lt lt kv first lt lt kv second lt lt e
  • 用 IIFE 以封装 BOM对象提供的方法

    1 文件转 Base64 span class token keyword const span blob2Base64 span class token operator 61 span span class token punctuat
  • 先验概率、后验概率及贝叶斯公式的理解

    目录 1 条件概率 2 全概率公式 3 先验概率 4 后验概率 5 贝叶斯 xff08 bayes xff09 公式 介绍这些概念之前 xff0c 首先需要了解 条件概率 及 全概率公式 1 条件概率 在事件 B 发生的条件下事件 A 发生
  • 网页数据解析与爬取----Beautiful Soup

    目录 网页数据解析与爬取 Beautiful SoupBeautiful Soup 使用1 Beautiful Soup简介2 解析器3 准备工作4 节点选择器5 提取信息1 获取名称2 获取属性3 获取内容4 嵌套选择 6 关联选择1 子
  • ssh:远程登录、免密登录、SCP使用

    ssh远程登录 telnet 远程登录 主机之间的传输数据是明文的 不太安全 ssh 基于22端口 用于主机之间安全的远程链接 也可以实现主机之间的数据拷贝 xff0c 数据都是加密的 并且支持身份验证和免密登录 1 ssh远程登录主机 r
  • 计算总线带宽

    总线带宽 总线带宽 xff1a 指总线在单位时间内可以传输的数据总数 xff08 等于总线的宽度与工作频率的乘积 xff09 通常单位 xff1a MB s MBps 总线的传输速率 61 总线的带宽 61 xff08 总线位宽 8位 xf
  • 1.VScode中配置GIT

    1 VScode开发环境配置GIT 1 查看git安装目录 where git Windows指令 which git Mac指令 2 在VScode开发环境的setting json文件中配置git路径 2 配置代码提交GIT 2 1传统
  • 143-牛客网C++刷题9

    1 不定义第三个变量 xff0c 交换两个变量的数据 x 43 61 y y 61 x y x 61 y 2 常量可以是任何的基本数据类型 xff0c 可分为整型数字 浮点数字 字符 字符串和布尔值 3 在C 43 43 中 xff0c 可