918c++选择和填空题归纳总结【全部更完】

您所在的位置:网站首页 c语言笔试考试程序填空题 918c++选择和填空题归纳总结【全部更完】

918c++选择和填空题归纳总结【全部更完】

2024-02-25 14:18| 来源: 网络整理| 查看: 265

918选择和填空题

这份文档就是对c++中常见易错的选择题进行归类整理,按照蓝豹子的目录进行归类,文档中提及的蓝豹子就是《C++程序设计思想与方法》慕课版第3版 人民邮电出版社 在这里插入图片描述

持续更新中ing

1.绪论

image-20211204184825172

image-20211210184400309

image-20211210185206774

2.程序的基本组成 常量

image-20211210181658580

蓝豹子p17:unsigned int的字节是4

image-20211204164336288

这里主要原因是常量字符串必须初始化,具体解释可以开蓝豹子p24有一句话“const表示所定义的字符…”

数据类型

image-20211204174734118

这题蓝豹子没有,但是字符串处理函数比较常见,可以积累。

赋值运算符

image-20211204175002806

蓝豹子p30,但没有讲单目运算符是什么,可是这个也比较常见

单目运算是指运算符包括算术运算符、逻辑运算符、位逻辑运算符、位移运算符、关系运算符。:- = + 双目运算符:-- == ++ 三目运算符,又称条件运算符,也叫多目运算符: b = (a > c) ? a : c;

3.分支程序设计 4.循环程序设计

image-20211210184427580

蓝豹子p63:break可以用于switch中而continue只能用于循环体中,这里很多人可能没想到

5.数组

image-20211210181808986

书中没有提及,但比较重要

6.函数 函数调用

image-20211204164649126

蓝豹子p109:实际参数和形式参数是一一对应的,它们的个数,排列顺序要完全相同,类型要完全兼容。

image-20211210182310779

蓝豹子p109:单向传递和双向传递也叫值传递和引用传递,值传递在函数中对形式参数的任何修改对实际参数都没有影响

函数变量

image-20211204170430834

没有在蓝豹子里找到:在C++程序中,如果我没没有对函数的类型进行说明的话,那么函数的默认类型是int类型的,也就是说函数必须返回一个int型的返回值。

7.指针

image-20211208213844168

第一题:a[3]调用3次,p是类指针。 类指针要分配了动态空间才调用构造函数的 第二题:a,b各一次,c调用3次,p是类指针。

image-20211210185435897

类指针要分配了动态空间才调用构造函数的

动态内存分配

image-20211206170725403

蓝豹子p158:通过new操作可以申请一个动态的一维数组;要收回某个动态变量,可以使用delete操作。

引用类型与函数

image-20211206174403497

蓝豹子p168

常量指针

这一块书上没有,但考试试卷难道逐年增加,以防万一他考

image-20211210183701228

这是一个常量指针,不能在指向别的变量,但指向的值可以修改

image-20211210183645394

8.结构体 9.模块化开发

image-20211204175727438

这题蓝豹子没有讲

10.创建新的类型 类的定义

image-20211204170928561

蓝豹子p224中间有一段的最后一句话:如果没有指明访问特性,该成员默认认为是private。

image-20211206162628794

这题比较综合,但是都是各个部分最基础的考点!

对于类中不能初始化变量的个人理解:

类的定义实际相当与类型声明,并没有分配存储空间,初始化的数据哪里放? 类实例化以后才会有实体存储地址及空间。

对象的使用

image-20211204172745369

蓝豹子没有讲那么深,p228动态对象那里有提到一句

第一题:a[3]调用3次,p是类指针。 类 指 针 要 分 配 了 动 态 空 间 才 调 用 构 造 函 数 的 \textcolor{red}{类指针要分配了动态空间才调用构造函数的} 类指针要分配了动态空间才调用构造函数的 第二题:a,b各一次,c调用3次,p是类指针。

构造函数

image-20211205213258787

蓝豹子p232

image-20211204184318872

蓝豹子没有提及p233有提一句

image-20211204184655193

这是两种常见的写构造函数方式

image-20211210185703890

这个书上没有题,可以记一下

拷贝构造函数

image-20211205212125495

蓝豹子p234:复制构造函数以一个同类对象的常量引用作为参数。

image-20211210185304661

image-20211210185035490

image-20211205213132237

蓝豹子p234

image-20211210185935658

析构函数

image-20211205212237168

蓝豹子p235:在C++中,析构函数的名字是“~类名”。它没有参数也没有返回值。

常量成员函数

image-20211210185606305

image-20211206165133349

蓝豹子p243:因此,当把某个对象定义为常对象后,该对象只能调用常量成员函数

image-20211204170642082

蓝豹子p243最后一段开头第一句:常成员函数需要在声明和定义的时候在函数头部的结尾加上 const 关键字

静态成员函数

image-20211206164332525

蓝豹子p245:

1.在类外定义时,函数定义中不用加static;

2.更典型的方法是通过类名来调用,即“类名::静态成员函数名()”的形式。

image-20211210185629599

image-20211206162822704

蓝豹子p245:静态成员函数是为类服务的,它最大特点就是没有隐含的this指针

静态成员函数只能访问静态成员变量–>静态成员函数没有this指针

image-20211204171352446

蓝豹子p245:静态成员函数不能访问一般的数据成员。而只能访问静态数据成员或其他静态成员函数。

补充换成问答题:

为什么静态成员函数只能访问静态成员变量。

答:1.静态成员函数只属于类本身,随着类的加载而存在,不属于任何对象,是独立存在的

2. 非 静 态 成 员 当 且 仅 当 实 例 化 对 象 之 后 才 存 在 , 静 态 成 员 函 数 产 生 在 前 , 非 静 态 成 员 函 数 产 生 在 后 , 故 不 能 访 问 \textcolor{red}{2.非静态成员当且仅当实例化对象之后才存在,静态成员函数产生在前,非静态成员函数产生在后,故不能访问} 2.非静态成员当且仅当实例化对象之后才存在,静态成员函数产生在前,非静态成员函数产生在后,故不能访问

3.内部访问静态成员用self::,而访问非静态成员要用this指针,静态成员函数没有this指针,故不能访问。

友元

image-20211210184015892

蓝豹子p248:友元函数的实现是在类外部实现的,友元函数本身不属于类函数。

11.运算符重载 运算符重载方法

image-20211206193012756

蓝豹子p255第一段:这个函数可以是所重载的这个类的成员函数或全局函数

image-20211204180117210

蓝豹子p255:运算符的重载不能改变运算符的运算对象数。

image-20211206174617314

蓝豹子p255

image-20211206175011782

蓝豹子p255

image-20211206175101999

蓝豹子p255:因此,把一个一元运算符重载成成员函数时,该函数没有形参

image-20211206183344315

蓝豹子p255:如果将重载函数设计成类的成员函数,它的形参个数比运算符的运算对象数少1

类型转换函数

image-20211206170253649 这题选A 类型转换函数不能带参数

蓝豹子p268

转化构造函数:

1.只有一个参数。

2.参数时基本类型或则其他类类型。

3. 编译器会隐式的调用转换构造函数。

12.组合与继承

image-20211204184134440

蓝豹子没有提及

继承

image-20211206171816771

image-20211210183209419

image-20211206162050328

蓝豹子p286:表12-1,口诀:private权限永不变,public继承权不变,protect继承都protect,private继承都private。

image-20211206170921043

蓝豹子p286:表12-1

image-20211206171007304

蓝豹子p286:表12-1

image-20211206171043052

蓝豹子p286:表12-1

image-20211206174750264

蓝豹子没有提及,但继承调用要记一下

多态性与虚函数

image-20211206164636955

蓝豹子p299:派生类在基类的虚函数重定义时,关键字virtual可以写也可以不写。不管virtual写还是不写,该函数都被认为是虚函数

image-20211205212745611

蓝豹子p297倒数第二段:当基类的指针指向不同的派生类的对象时,就会调用不同的函数,这样就实现了多态性

image-20211204173710988

image-20211210184918160

这题考的是动态联编,蓝豹子里面没有提及,但可以了解一下

动态联编需要满足三个条件: 1 类之间满足兼容赋值规则 2 声明虚函数 3 使用类的指针或者引用访问虚函数或者通过成员函数调用虚函数

image-20211204175214988

这题考的是静态联编,蓝豹子里面没有提及

多重继承

image-20211206163759088

蓝豹子里面没有提及,但是考纲8.3提到一下多重继承

解决多重继承二义性有三种办法分别是作用域分辨操作符,虚基类和同名覆盖。

关于多重继承可以产考一下这篇博客 https://www.cnblogs.com/liangxiaofeng/p/5678912.html

虚基类

这一块蓝豹子没有提及,但考纲8.4 虚基类有要求,使用要自己补一下

image-20211204183925044

蓝豹子没有提及

image-20211206165410705

蓝豹子没有提及

纯虚函数和抽象类

image-20211206170415683

image-20211205213446141

蓝豹子p301:如果一个类至少含有一个纯虚函数,则被称为抽象类。

13.模板 14.输入输出 格式化输入/输出

image-20211204173825365

这题蓝豹子没有写,可以积累,蓝豹子只写了setw,在p325可以重点看看

image-20211206193132662

蓝豹子只写了setw,在p325可以重点看看

image-20211204174307160

蓝豹子p326那个表的最后一个:setfill 设置填充字符

image-20211206175213151

这题蓝豹子没有写,可以积累,比较常见

image-20211210185458351

这题蓝豹子没有写,使用运算符对数据进行格式输出时,必须要包含iomanip.h头文件。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3