当前位置:网站首页>百日刷题挑战--错题01day
百日刷题挑战--错题01day
2022-08-10 16:39:00 【不虚此行-Rui】
1.在 32 位编译器上,设有定义
1
char
*str1 =
"Hello"
, str2[] =
"Hello"
;
则以下语句
1
printf
(
"%d %d"
,
sizeof
(str1),
sizeof
(str2));
的输出结果是(6,6)
解析:
str1是指针 大小为4字节
str2是字符数组 大小为6个字节(包含/0);
2.在C++中,定义结构体类型struct时,不能定义成员函数,只有class可以定义成员函数。
解析:错误 c语言中struct不可以定义成员函数,c++可以,包括继承(面试题 : struct和class的区别)
3.下列程序输出什么?
#include <iostream> using namespace std; class A { public: A() { cout << "1"; } A(A &a) { cout << "2"; } virtual ~A() { cout << "3"; } }; class B: public A { public: B() { cout << "4"; } B(B &b) { cout << "5"; } ~B() { cout << "6"; } }; int main() { A *pa = new B(); delete pa; return 0; }
答案: 1 4 6 3
解析:在继承中构造和析构顺序
B继承了A,所以先构造A再构造B,然后先析构B在A (这里没有拷贝)
3.下列表达式结果()----strs *ptrs分别是?
1
2
3
4
5
6
std::string str1(
"trend"
);
std::string str2(
"micro"
);
std::string& strs = str1;
std::string* ptrs = &str1;
strs = str2;
ptrs = &str2;
strs="micro" *ptrs="micro"
解析:strs是str1的别名 strs=str2 相当于 str1=str2; (str1的内容也被修改)
ptrs指针指向str2可以被改变(面试题:引用和指针的区别)
在32位系统环境,编译选项为4字节对齐,那么sizeof (A)和sizeof (B)是______。
1
2
3
4
5
6
7
8
9
10
11
12
13
struct
A {
int
a;
short
b;
int
c;
char
d;
};
struct
B {
int
a;
short
b;
char
d;
int
c;
};
答案16 12
解析: 结构体第一个成员从偏移量0开始,之后的成员变量从对齐数的整数倍开始
最后的结果也是对齐数的整数倍
面试题:结构体对齐方式
关于纯虚函数和抽象类的描述中,( )是错误的。
A.纯虚函数是一种特殊的虚函数,它没有具体的实现; B.抽象类是指具有纯虚函数的类; C.一个基类声明有纯虚函数,该基类的派生类一定不再是抽象类; D.抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出;答案:c
解析:
含有纯虚函数的类是抽象类,不能生成对象,只能派生.派生的类的虚函数没有被实现,那么他的派生类还是抽象类,。如果派生类中给出了基类纯虚函数的实现,则该派生类就不再是抽象类了
假设C语言程序里使用malloc申请了内存,但是没有free掉,那么当该进程被kill之后,操作系统会()
正确答案: D 你的答案: A (错误)
A.内存泄露B.segmentation faultC.core dumpD.以上都不对内存泄漏只发生在程序运行中
关于C++中的友元函数说法正确的是()
正确答案: B C 你的答案: A B C (错误)
A.友元函数需要通过对象或指针调用B.友元函数是不能被继承的C.友元函数没有this指针D.友元函数破环了继承性机制解析:友元函数不具有传递性,继承性,双向性
也不具有this指针,成员函数的概念
面试题:
struct和class的区别?
- struct默认访问权限public,class默认访问权限private
- 默认继承权限不同 struct默认继承权限public class默认继承权限private
结构体对齐方式
- 第一个成员在结构体偏移量为0的地址处;
- 其他成员变量要与自身类型的整数倍地址处对齐
- 结构体的总大小为对齐数(默认对齐数与成员类型最大值的最小值)的整数倍
- 如果出现嵌套情况,嵌套结构体对齐到最大对齐数的整数倍
引用和指针的区别
- 引用必须初始化,不能被更改,指针不必须初始化,可以被更改
- 指针可以指向空,不存在指向空值的引用
- 对引用操作就是对目标变量直接操作,指针则是对指向的变量的间接操作
边栏推荐
猜你喜欢
随机推荐
How to realize full backup and incremental backup of MySQL database
C专家编程 第10章 再论指针 10.6 使用指针从函数返回一个数组
C专家编程 第10章 再论指针 10.4 向函数传递一个一维数组
【硬件架构的艺术】学习笔记(4)流水线的艺术
聚焦企业流程智能化发展新趋势,中国信通院2022 RPA创新产业峰会即将开启
C专家编程 第10章 再论指针 10.8 轻松一下---程序检验的限制
北海 Kraken:基于 Flutter 构建的高性能 Web 渲染引擎
How to use bitwise operators in C language
网页分析和一些基础题目
Yi Gene|In-depth review: epigenetic regulation of m6A RNA methylation in brain development and disease
v-model指令:获取和设置表单元素的值
网易云信亮相LiveVideoStackCon2022,解构基于WebRTC的开源低延时播放器实践
Qt 绘图和绘图设备
神经网络如何提高准确率,神经网络的求解方式
shell获取前n天的日期
Alluxio on Amazon EMR 集成实践
JWT 实现登录认证 + Token 自动续期方案
雷达存在感应器技术,实时感知控制应用,雷达人体探测方案
bp神经网络反向传播原理,BP神经网络反向传播
MS | 使用小技巧不完全总结