918c++选择和填空题归纳总结【全部更完】 |
您所在的位置:网站首页 › c语言笔试考试程序填空题 › 918c++选择和填空题归纳总结【全部更完】 |
918选择和填空题
这份文档就是对c++中常见易错的选择题进行归类整理,按照蓝豹子的目录进行归类,文档中提及的蓝豹子就是《C++程序设计思想与方法》慕课版第3版 人民邮电出版社 持续更新中ing 1.绪论蓝豹子p17:unsigned int的字节是4 这里主要原因是常量字符串必须初始化,具体解释可以开蓝豹子p24有一句话“const表示所定义的字符…” 数据类型这题蓝豹子没有,但是字符串处理函数比较常见,可以积累。 赋值运算符蓝豹子p30,但没有讲单目运算符是什么,可是这个也比较常见 单目运算是指运算符包括算术运算符、逻辑运算符、位逻辑运算符、位移运算符、关系运算符。:- = + 双目运算符:-- == ++ 三目运算符,又称条件运算符,也叫多目运算符: b = (a > c) ? a : c; 3.分支程序设计 4.循环程序设计蓝豹子p63:break可以用于switch中而continue只能用于循环体中,这里很多人可能没想到 5.数组书中没有提及,但比较重要 6.函数 函数调用蓝豹子p109:实际参数和形式参数是一一对应的,它们的个数,排列顺序要完全相同,类型要完全兼容。 蓝豹子p109:单向传递和双向传递也叫值传递和引用传递,值传递在函数中对形式参数的任何修改对实际参数都没有影响 函数变量没有在蓝豹子里找到:在C++程序中,如果我没没有对函数的类型进行说明的话,那么函数的默认类型是int类型的,也就是说函数必须返回一个int型的返回值。 7.指针第一题:a[3]调用3次,p是类指针。 类指针要分配了动态空间才调用构造函数的 第二题:a,b各一次,c调用3次,p是类指针。 类指针要分配了动态空间才调用构造函数的 动态内存分配蓝豹子p158:通过new操作可以申请一个动态的一维数组;要收回某个动态变量,可以使用delete操作。 引用类型与函数蓝豹子p168 常量指针这一块书上没有,但考试试卷难道逐年增加,以防万一他考 这是一个常量指针,不能在指向别的变量,但指向的值可以修改 这题蓝豹子没有讲 10.创建新的类型 类的定义蓝豹子p224中间有一段的最后一句话:如果没有指明访问特性,该成员默认认为是private。 这题比较综合,但是都是各个部分最基础的考点! 对于类中不能初始化变量的个人理解: 类的定义实际相当与类型声明,并没有分配存储空间,初始化的数据哪里放? 类实例化以后才会有实体存储地址及空间。 对象的使用蓝豹子没有讲那么深,p228动态对象那里有提到一句 第一题:a[3]调用3次,p是类指针。 类 指 针 要 分 配 了 动 态 空 间 才 调 用 构 造 函 数 的 \textcolor{red}{类指针要分配了动态空间才调用构造函数的} 类指针要分配了动态空间才调用构造函数的 第二题:a,b各一次,c调用3次,p是类指针。 构造函数蓝豹子p232 蓝豹子没有提及p233有提一句 这是两种常见的写构造函数方式 这个书上没有题,可以记一下 拷贝构造函数蓝豹子p234:复制构造函数以一个同类对象的常量引用作为参数。 蓝豹子p234 蓝豹子p235:在C++中,析构函数的名字是“~类名”。它没有参数也没有返回值。 常量成员函数蓝豹子p243:因此,当把某个对象定义为常对象后,该对象只能调用常量成员函数 蓝豹子p243最后一段开头第一句:常成员函数需要在声明和定义的时候在函数头部的结尾加上 const 关键字 静态成员函数蓝豹子p245: 1.在类外定义时,函数定义中不用加static; 2.更典型的方法是通过类名来调用,即“类名::静态成员函数名()”的形式。 蓝豹子p245:静态成员函数是为类服务的,它最大特点就是没有隐含的this指针 静态成员函数只能访问静态成员变量–>静态成员函数没有this指针 蓝豹子p245:静态成员函数不能访问一般的数据成员。而只能访问静态数据成员或其他静态成员函数。 补充换成问答题: 为什么静态成员函数只能访问静态成员变量。 答:1.静态成员函数只属于类本身,随着类的加载而存在,不属于任何对象,是独立存在的 2. 非 静 态 成 员 当 且 仅 当 实 例 化 对 象 之 后 才 存 在 , 静 态 成 员 函 数 产 生 在 前 , 非 静 态 成 员 函 数 产 生 在 后 , 故 不 能 访 问 \textcolor{red}{2.非静态成员当且仅当实例化对象之后才存在,静态成员函数产生在前,非静态成员函数产生在后,故不能访问} 2.非静态成员当且仅当实例化对象之后才存在,静态成员函数产生在前,非静态成员函数产生在后,故不能访问 3.内部访问静态成员用self::,而访问非静态成员要用this指针,静态成员函数没有this指针,故不能访问。 友元蓝豹子p248:友元函数的实现是在类外部实现的,友元函数本身不属于类函数。 11.运算符重载 运算符重载方法蓝豹子p255第一段:这个函数可以是所重载的这个类的成员函数或全局函数 蓝豹子p255:运算符的重载不能改变运算符的运算对象数。 蓝豹子p255 蓝豹子p255 蓝豹子p255:因此,把一个一元运算符重载成成员函数时,该函数没有形参 蓝豹子p255:如果将重载函数设计成类的成员函数,它的形参个数比运算符的运算对象数少1 类型转换函数
蓝豹子p268 转化构造函数: 1.只有一个参数。 2.参数时基本类型或则其他类类型。 3. 编译器会隐式的调用转换构造函数。 12.组合与继承蓝豹子没有提及 继承蓝豹子p286:表12-1,口诀:private权限永不变,public继承权不变,protect继承都protect,private继承都private。 蓝豹子p286:表12-1 蓝豹子p286:表12-1 蓝豹子p286:表12-1 蓝豹子没有提及,但继承调用要记一下 多态性与虚函数蓝豹子p299:派生类在基类的虚函数重定义时,关键字virtual可以写也可以不写。不管virtual写还是不写,该函数都被认为是虚函数 蓝豹子p297倒数第二段:当基类的指针指向不同的派生类的对象时,就会调用不同的函数,这样就实现了多态性 这题考的是动态联编,蓝豹子里面没有提及,但可以了解一下 动态联编需要满足三个条件: 1 类之间满足兼容赋值规则 2 声明虚函数 3 使用类的指针或者引用访问虚函数或者通过成员函数调用虚函数 这题考的是静态联编,蓝豹子里面没有提及 多重继承蓝豹子里面没有提及,但是考纲8.3提到一下多重继承 解决多重继承二义性有三种办法分别是作用域分辨操作符,虚基类和同名覆盖。 关于多重继承可以产考一下这篇博客 https://www.cnblogs.com/liangxiaofeng/p/5678912.html 虚基类这一块蓝豹子没有提及,但考纲8.4 虚基类有要求,使用要自己补一下 蓝豹子没有提及 蓝豹子没有提及 纯虚函数和抽象类蓝豹子p301:如果一个类至少含有一个纯虚函数,则被称为抽象类。 13.模板 14.输入输出 格式化输入/输出这题蓝豹子没有写,可以积累,蓝豹子只写了setw,在p325可以重点看看 蓝豹子只写了setw,在p325可以重点看看 蓝豹子p326那个表的最后一个:setfill 设置填充字符 这题蓝豹子没有写,可以积累,比较常见 这题蓝豹子没有写,使用运算符对数据进行格式输出时,必须要包含iomanip.h头文件。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |