2020年最全面的C++复习大纲!面向对象程序设计,建议收藏( 五 )
构造函数初始化列表以一个冒号开始 , 接着是以逗号分隔的数据成员列表 , 每个数据成员后面跟一个放在括号中的初始化式 。
文章插图
初始化列表作用:一般数据成员的初始化、常成员的初始化 , 对象成员构选函数的选择、父类构造函数的选择 。
27.什么是纯虚函数?什么是抽象数据类型(ADT)?抽象类的作用是什么?抽象类是否可实例化?抽象类的什么样子类可以实例化?(google)
纯虚函数是没有函数体的虚函数 , 它的实现留给该基类的派生类去做 , 这就是纯虚函数的作用 。
抽象类是一种特殊的类 , 它是为了抽象和设计的目的而建立的 , 它处于继承层次结构的较上层 。
抽象类不可实例化 , 只可以派生 。
抽象类派生的子类必须重置基类的纯虚函数才能实现实例化 。
抽象数据类型是具有类似行为的特定类型的数据结构的数学模型:或者具有类似语义的一种或者多种程序设计语言的数据类型 。
抽象数据类型的描述包括给出抽象数据类型的名称、数据的集合、数据之间的关系和操作的集合等方面的描述 。 抽象数据类型的设计者根据这些描述给出操作的具体实现 , 抽象数据类型的使用者依据这些描述使用抽象数据类型 。
抽象数据类型描述的一般形式如下:
ADT 抽象数据类型名称
{
数据对象:
……
数据关系:
……
操作集合:
操作名1:
……
……
操作名n:
}ADT抽象数据类型名称
抽象数据类型定义(ADT)
作用:抽象数据类型可以使我们更容易描述现实世界 。 例:用线性表描述学生成绩表 , 用树或图描述遗传关系 。
定义:一个数学模型以及定义在该模型上的一组操作 。
关键:使用它的人可以只关心它的逻辑特征 , 不需要了解它的存储方式 。 定义它的人同样不必要关心它如何存储 。
例:线性表这样的抽象数据类型 , 其数学模型是:数据元素的集合 , 该集合内的元素有这样的关系:除第一个和最后一个外 , 每个元素有唯一的前趋和唯一的后继 。 可以有这样一些操作:插入一个元素、删除一个元素等 。
28.什么是this指针 , 其作用是什么?
this指针是一个隐含于每一个成员函数中的特殊指针 。 它是一个指向正在被该成员函数操作的对象 , 也就是要操作该成员函数的对象 。 通过this指针可以访问当前对象的所有成员 。
this作用域是在类内部 , 当对一个对象调用成员函数时 , 编译程序先将对象的地址赋给this指针 , 编译器会自动将对象本身的地址作为一个隐含参数传递给函数 。
在以下场景中 , 经常需要显式引用this指针:
(1)在类的非静态成员函数中返回类对象本身的时候 , 直接使用 return *this , 例如:实现对象的链式引用 。
(2)当参数与成员变量名相同时 , 如this->x = x , 不能写成x = x 。
(3)避免对同一对象进行赋值操作 。
if(Y=pointer.Y;
}
文章插图
29.什么是友元(friend)函数?为什么要使用友员函数?
友元函数是在类声明中由关键字friend修饰说明的非成员函数或其它类的成员函数 , 在它的函数体中能够通过对象名访问 private 和 protected成员
友元函数可以访问这个类中的私有成员,增加灵活性 , 使程序员可以在封装和快速性方面做合理选择 。
友元是C++提供的一种对数据封装和数据隐藏的破坏机制 。
30.如何防止一个头文件被多重包含?举例说明 。
include "a.h"
include "b.h"
如果a.h和b.h都包含了一个头文件x.h 。 那么x.h在此也同样被包含了两次 , 只不过它的形式不是那么明显而已 。
可以使用条件编译 。
ifndef _HEADERNAME_H #define _HEADERNAME_H ..//(头文件内容)
endif
当头文件第一次被包含时 , 它被正常处理 , 符号_HEADERNAME_H被定义为1 。 如果头文件被再次包含 , 通过条件编译 , 它的内容被忽略 。
符号_HEADERNAME_H按照被包含头文件的文件名进行取名 , 以避免由于其他头文件使用相同的符号而引起的冲突 。 但是 , 你必须记住预处理器仍将整个头文件读入 , 即使这个头文件所有内容将被忽略 。 由于这种处理将拖慢编译速度 , 所以如果可能 , 应该避免出现多重包含 。
31.什么是运算符重载?为什么要使用运算符重载?如何进行运算符重载 , 举例说明 。
运算符重载 , 就是对已有的运算符重新进行定义 , 赋予其另一种功能 , 以适应不同的数据类型 。
- 时尚先生|小米雷军成2020年最出圈企业家:获时尚双刊年度人物
- 网络覆盖|爱立信:2020年底,将有超过10亿人口获得5G网络覆盖
- 机器人|网络里面的假消息忽悠了非常多的小喷子和小机器人
- 张大|2020年财务公布:张大仙一年收入负1400W?活该是一姐
- 资本|2020年中国人工智能医疗行业发展现状分析 处于成长期且资本热度高
- 再见|2020年:三星S20再见了!2021年:三星S21我来了!
- 脉搏|把握时代发展脉搏,尽展巴蜀版权风采——2020年成都数字版权交易博览会成功举办
- 广告点击|广告效果评估:30天的广告时间评估最全面
- 中国汽车|2020年,我们攒了一个局,串了一条链,下了一盘棋
- 出炉|B站2020年度弹幕出炉!第一名竟然是它?