牛客错题整理——C++

1.运行下图中代码,输出的结果是什么?这段代码有什么问题?

class A
{
public:A(){       std::cout << "A is created." << std::endl;        }~A(){       std::cout << "A is deleted." << std::endl;        }
};class B : public A
{
public:B(){       std::cout << "B is created." << std::endl;        }~B(){       std::cout << "B is deleted." << std::endl;        }
};int _tmain(int argc, _TCHAR* argv[])
{A* pA = new B();delete pA;return 0;
}

答案为输出三行,分别是:A is created. B is created. A is deleted。
用new创建B时,回调用B的构造函数。在调用B的构造函数的时候,会先调用A的构造函数。因此先输出A is created. B is created.接下来运行delete语句时,会调用析构函数。由于pA被声明成类型A的指针,同时基类A的析构函数没有标上virtual,因此只有A的析构函数被调用到,而不会调用B的析构函数。因而我们通常规定:继承体系中的析构函数应当为虚函数,以此保证所有构建的实体均能够正常析构。

2.下列关于静态变量与对象变量的说法中错误的是()

A.静态方法可以调用静态变量
B.静态方法可以调用对象变量
C.成员方法(非静态method)可以调用静态变量
D.成员方法(非静态 method)可以调用对象变量

答案为B
A. 静态方法可以调用静态变量 - 这是正确的。静态方法是属于类的,而不是属于对象的,因此它只能访问静态变量,这些变量也是属于类的,而不是属于任何特定对象的。

B. 静态方法可以调用对象变量 - 这是错误的。静态方法不能访问非静态的成员变量(即对象变量),因为这些变量是属于对象的,而不是属于类的。在静态方法中访问非静态成员变量会导致编译错误,因为静态方法不依赖于任何特定的对象实例。

C. 成员方法(非静态method)可以调用静态变量 - 这是正确的。非静态方法(成员方法)可以访问静态变量,因为静态变量是类的成员,可以在类的任何方法(包括静态和非静态方法)中访问。

D. 成员方法(非静态 method)可以调用对象变量 - 这也是正确的。非静态方法是与对象实例关联的,因此它们可以访问和修改对象的成员变量(即对象变量)。

3.下述静态成员的特性中,()是错误的:

A 静态成员函数不能利用 this 推针
B.静态数据变量要在类体外进行初始化
C.静态数据变量既可以通过对象名访间。也可以通过类名来访问
D 静态数据成员只有静态的对象才能访问
答案为D
A 静态成员函数不能利用 this 指针
这是正确的。静态成员函数是属于类的,而不是属于类的某个对象。因此,它们没有与特定对象关联的 this 指针。静态成员函数只能访问静态成员变量和其他静态成员函数,因为它们不依赖于任何对象实例。

B 静态数据变量要在类体外进行初始化
这也是正确的。在C++中,静态数据成员(无论是整型、浮点型还是其他类型)都必须在类定义之外进行初始化。这是因为静态数据成员是与类本身关联的,而不是与类的任何特定对象关联的。因此,它们的初始化不能在类的构造函数中完成,而必须在类定义之外进行。

C 静态数据变量既可以通过对象名访问,也可以通过类名来访问
这同样是正确的。静态数据成员属于类本身,因此它们可以通过类名直接访问。但是,由于它们也是类的成员,因此也可以通过类的对象来访问。不过,通过对象访问静态成员通常是不推荐的,因为这可能会导致混淆。

D 静态数据成员只有静态的对象才能访问
这是不正确的。静态数据成员是类的成员,而不是特定对象的成员。因此,它们可以通过类名或任何类的对象来访问,而不仅仅是静态对象。

4.以下是C++的不同数据类型值的比较语句,请问这些判断语句中作为条件部分的语句编写有问题的有:

A 如果变量bVar是布尔类型:if(false == bVar)doSomeThing();
B 如果变量nVar是int型:if(0 == nVar)doSomeThing();
C 如果变量fVar为浮点型:if(0.02 == fVar){doSomeThing();}
D 如果变量sVar为字符串型:if(“”== sVar){doSomeThing();}
答案为 C错
注意是0.02=fVar,应该是==,如果忽略这个,那么两个浮点数比较也是有问题的,应该指定一个误差

5.则a[q - p] = ?

int a[3];
a[0] = 0;
a[1] = 1;
a[2] = 2;
int *p, *q;
p = a;
q = &a[2];

答案为 2
这里q-p的实际运算是:(q的地址值-p的地址值)/sizeof(int),所以为2.

6.有以下定义语句 double a,b; int w; long c;

若各变量已正确赋值,则下列选项中正确的表达式是()

A a=a+b=b++
B w%(int)(a+b)
C (c+w)%(int)a
D w=a==b;

答案为 BC
D不是表达式,是语句

7.则a[q - p] = ?

int a[3];
a[0] = 0;
a[1] = 1;
a[2] = 2;
int *p, *q;
p = a;
q = &a[2];

答案为 2
这里q-p的实际运算是:(q的地址值-p的地址值)/sizeof(int),所以为2.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/804548.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大语言模型如何工作?

此为观看视频How Large Language Model works的笔记。 GPT&#xff08;Generative Pre-trained Transformer&#xff09;是一个大语言模型&#xff08;LLM&#xff09;&#xff0c;可以生成类似人类的文本。本文阐述&#xff1a; 什么是LLMLLM如何工作LLM的应用场景 什么是…

触控芯片TS223B功能介绍, 适用于小家电、电子玩具、智能物联网等各种触控产品方案。

•应用领域• 适用于小家电、电子玩具、智能物联网等各种触控产品方案。 •功能介绍• 单键电容式触控芯片TS223B具有功耗低、触控灵敏度高、抗干扰能力强等众多优势&#xff0c;输出方式包括直接输出、电平翻转输出&#xff0c;并且输出的初始状态可以配置&#xff0c;能灵活满…

FPGA笔试面试题目记录

1 logic utilization 题目&#xff1a;Rank the following operations from lowest utilization to highest. Assume that all variables are 32-bit integers,that the operations are implemented using LUTs ony and that the synthesiser will produce an optimal digital…

基于YOLOv8的摄像头下铁路工人安全作业检测系统

&#x1f4a1;&#x1f4a1;&#x1f4a1;本文摘要&#xff1a;基于YOLOv8的铁路工人安全作业检测系统&#xff0c;属于小目标检测范畴&#xff0c;并阐述了整个数据制作和训练可视化过程&#xff0c; 博主简介 AI小怪兽&#xff0c;YOLO骨灰级玩家&#xff0c;1&#xff0…

3D模型在线轻量化工具

在计算机图形学领域&#xff0c;3D模型简化工具是一种强大的工具&#xff0c;用于减少模型的面数&#xff0c;以提高模型在渲染和处理过程中的性能。本文将全面介绍为何需要简化模型、简化的方法、常见的简化算法以及一款三维模型优化产品 的使用方法&#xff0c;帮助读者更好地…

tomcat处理Http请求流程的步骤

假设来我们在浏览器上输入&#xff1a; http://localhost:8080/my-web-mave/index.jsp &#xff1b;在tomcat中是如何处理这个请求流程的&#xff1a; 1&#xff1a; 我们的请求被发送到本机端口8080&#xff0c;被在那里侦听的Coyote HTTP/1.1 Connector获得。 2&#xff1a;…

Ble的认证与授权

在BLE(Bluetooth Low Energy)中,认证(Authentication)和授权(Authorization)是确保设备间安全通信的重要概念。这两个过程通常是相互关联的,但它们的具体实现和需求可能会根据应用场景和安全要求而有所不同。 认证(Authentication) 认证是指在设备之间建立信任关系…

IP爆发出蓬勃生命力,泡泡玛特2023营收过亿IP达到10个

“原来我们是基于潮流在事情&#xff0c;后来是基于流行&#xff0c;然后我们现在想去做一个更大的圈&#xff0c;我们想基于快乐。”在2023年9月的一场采访中&#xff0c;泡泡玛特CEO王宁如是说。半年后&#xff0c;泡泡玛特交出了一份还不错的成绩单。近期&#xff0c;泡泡玛…

[StartingPoint][Tier1]Crocodile

Task 1 What Nmap scanning switch employs the use of default scripts during a scan? (哪些 Nmap 扫描开关在扫描期间使用默认脚本&#xff1f;) -sC Task 2 What service version is found to be running on port 21? 发现端口 21 上运行的服务版本是什么&#xff1f…

DEVOPS详解

一、简介 DevOps一词是由英文 Development&#xff08;开发&#xff09;和 Operations&#xff08;运维&#xff09;组合而成&#xff0c;但它所代表的理念和实践要比单独或组合的两个词广阔的多。DevOps 涵盖了开发、测试、安全、协作方式、数据分析、运维等许多方面。传统的开…

w1r3s 靶机学习

w1r3s 靶机学习 0x01 IP C for command kali ip 10.10.10.128victim ip 10.10.10.1290x02 开扫 C sudo nmap -sn 10.10.10.0/24-sn 多一步入侵和轻量级侦察 发送四项请求 -sL 列表扫描&#xff0c;多用于探测可用ip&#xff0c;广播扫描 –send-ip 时间戳请求&#xff0…

分贝和功率相关的概念

对于刚接触分贝 (dB) 的人来说&#xff0c;分贝 (dB) 的概念很困难且令人困惑&#xff0c;因为射频中经常涉及增益、功率、电压&#xff0c;再加上dB、dBm、dBW、瓦特、毫瓦等名词&#xff0c;且通常需要在线性值和分贝值之间来回转换&#xff0c;所以需要耐心地梳理他们之间的…

libcurl上手笔记-HTTP方法 GET、POST、PUT、DELETE

GET GET方法比较简单&#xff0c;使用一条语句设置即可。 curl_easy_setopt(curl, CURLOPT_HTTPGET, 1L); POST {//方法1 /*使用CURLOPT_POST时&#xff0c;会将方法设置成POST&#xff0c;但是默认还需要从stdin读取提交的内容 * 所以需要用CURLOPT_POSTFIELDSIZE显试设置不…

常见性能测试工具对比

在性能测试工作中&#xff0c;我们常常会遇到好几个工具&#xff0c;但是每一个工具都有自己的优势&#xff0c;一时间不知道怎么选择。 今天我们就将性能测试常用的工具进行对比&#xff0c;这样大家在选择工具的时候心里就有底啦&#xff01; 阿里云PTS 性能测试PTS&#xff…

【群智能算法改进】一种改进的鹦鹉优化算法 改进鹦鹉优化器 IPO算法【Matlab代码#73】

文章目录 【获取资源请见文章第5节&#xff1a;资源获取】1. 原始鹦鹉优化算法PO2. 改进后的IPO算法2.1 自适应切换因子2.2 混合柯西和高斯变异 3. 部分代码展示4. 仿真结果展示5. 资源获取 【获取资源请见文章第5节&#xff1a;资源获取】 1. 原始鹦鹉优化算法PO 鹦鹉优化算法…

互联网人才现状分析

作者&#xff1a;哈哥撩编程&#xff08;视频号、抖音、公众号同名&#xff09; 新星计划全栈领域优秀创作者博客专家全国博客之星第四名超级个体COC上海社区主理人特约讲师谷歌亚马逊演讲嘉宾科技博主极星会首批签约作者 &#x1f3c6; 推荐专栏&#xff1a; &#x1f3c5;…

C#操作MySQL从入门到精通(6)——对查询数据进行排序

前言 在和MySql数据库交互的过程中,查询数据是使用最频繁的操作,并且我们经常需要对查询到的数据进行排序后输出,比如我想查询1列数据的最小值,那么我可以将查询到的数据进行升序(从小到大)排列,然后取第一个数据就是最小值。本文详细介绍了对查询数据进行排序的各种操…

数学建模-最优包衣厚度终点判别法-二(K-Means聚类)

&#x1f49e;&#x1f49e; 前言 hello hello~ &#xff0c;这里是viperrrrrrr~&#x1f496;&#x1f496; &#xff0c;欢迎大家点赞&#x1f973;&#x1f973;关注&#x1f4a5;&#x1f4a5;收藏&#x1f339;&#x1f339;&#x1f339; &#x1f4a5;个人主页&#xff…

【ZZULIOJ】1052: 数列求和4(Java)

目录 题目描述 输入 输出 样例输入 Copy 样例输出 Copy code 题目描述 输入n和a&#xff0c;求aaaaaa…aa…a(n个a)&#xff0c;如当n3,a2时&#xff0c;222222的结果为246 输入 包含两个整数&#xff0c;n和a,含义如上述&#xff0c;你可以假定n和a都是小于10的非负整…

OpenLCA案例分析:环境影响与碳排放生命周期评估应用、GREET下载与安装、生物质能源的碳排放

目录 第一章 生命周期评价的理论基础 第二章 OpenLCA的安装使用及生命周期评估模型构建 第三章 GREET的介绍 第四章 生物质能源的碳排放 更多应用 生命周期分析是一种分析工具&#xff0c;它可帮助人们进行有关如何改变产品或如何设计替代产品方面的环境决策&#xff0c;即…