2020年最全面的C++复习大纲!面向对象程序设计,建议收藏( 三 )
class A
{ const int nValue;
}
(1)成员常量不可被修改 。
(2)只能在初始化列表中被赋值 。
修饰类成员函数
class A
{ void function()const;
}
(1)常成员函数, 它不改变对象的成员变量. 代表只读函数 , 增加程序的可读性 。
(2)不能调用类中任何非const成员函数 。
12.操作符new的作用是什么?如何申请单个空间?如何申请动态数组?用new创建一个类的对象时 , 会发生哪些操作?必要时 , 请用代码说明 。
作用:在堆中申请一段空间 , 动态分配内存
申请单个空间int *i = new int;
申请动态数组int *a = new int[10];
new创建类对象需要指针接收 , 一处初始化 , 多处使用 , 作用域是全局 , 且需要手动释放空间 , 在堆中动态分配内存 , 调用构造函数 。
13.操作符delete的作用是什么?如何删除单个用new申请的空间?如何删除申请的动态数组?用delete删除一个类的对象时 , 会发生哪些操作?必要时 , 请用代码说明 。
作用:释放所申请的空间
释放单个空间delete i;
释放动态数组delete []a;
释放在堆中分配的内存 , 调用析构函数 。
14.什么是悬挂指针(又称为野指针 , Dangling Pointers) , 其危害是什么?(google)
指针指向非法的内存地址 , 那么这个指针就是悬挂指针 , 也叫野指针 。 意为无法正常使用的指针 。 野指针造成的危害程度和危害时间未知 , 因为野指针指向的内存空间 , 有可能是某个重要的数据或其他程序 。 严重的情况下会造成程序崩溃 。
15.什么是类?通常一个类中 , 包含什么样的内容?定义一个类的语法是什么 , 试举例说明 。
类是逻辑上相关的函数与数据的封装 , 描述了所创建对象共同的属性和方法 。 类中声明或定义的变量和函数称为成员 , 类的成员包括数据成员和函数成员 , 数据成员描述问题的属性 , 函数成员描述问题的行为 。
16.什么是对象?什么是类?类与对象的关系是什么?
类是逻辑上相关的函数与数据的封装 , 它是对问题的抽象描述 。
对象是类的某一特定实体 。
将整个公司的雇员看成一个类 , 那么每一个雇员就是该类的一个特定实体 , 也就是一个对象 。
类对象的关系:类是对象的抽象 , 而对象是类的具体实例 。 类是抽象的 , 不占用内存 , 而对象是具体的 , 占用存储空间 。 类是用于创建对象的蓝图 , 它是一个定义包括在特定类型的对象中的方法和变量的软件模板 。
17.类中的成员可以用public/protected/private分别进行修饰 , 这三种成员在什么情况下是可以被访问的?类中没有用public/protected/private修饰的成员 , 其可访问性是什么 , 结构体中没有用public/protected/private修饰的成员 , 其可访问性是什么?
public修饰的成员可以在任何地方被访问
private修饰的成员只能由该类中的函数、其友元函数访问;不能被任何其他访问 , 该类对象也不能访问 。
protected修饰的成员可以被该类中函数、子类函数、友元函数访问;但不能被该类对象访问 。
public可以被访问 , 没有修饰 , 类的默认为private , struct默认为public 。
18.什么是封装?其作用是什么?(google)
封装就是将抽象得到的数据和行为(或功能)相结合 , 形成一个有机的整体 , 也就是将数据与操作数据的函数代码进行有机结合 , 形成类 。
作用:
使一部分成员充当类与外部的接口 , 而将其他成员隐藏起来 , 这样就达到了对成员访问权限的合理控制 , 使不同类之间的相互影响减少到最低限度 , 进而保护数据增强数据的安全性和简化程序编写工作 。
19.什么是构造函数?构造函数有返回值吗?构造函数如何命名?构造函数可以重载吗?什么是缺省构造函数(default constructor)?什么情况下 , 类中会有缺省构造函数?
构造函数主要用来在创建对象时初始化对象 ,即为对象成员变量赋初始值 。
构造函数没有返回值 。
构造函数是一个与其所在的类同名的函数 。
构造函数可以重载 。 但是, 每个构造函数必须有不同的函数签名 。
如果构造函数没有参数 , 或者构造函数的所有参数都有默认值 , 就可以称其为缺省构造函数 。 一个类中 , 只能有一个缺省构造函数 。
当没有定义构造函数或者定义的构造函数没有参数时 , 类中会有缺省构造函数 。
文章插图
20.若父类中没有缺省构造函数 , 则对派生类的构造函数有什么要求?
- 时尚先生|小米雷军成2020年最出圈企业家:获时尚双刊年度人物
- 网络覆盖|爱立信:2020年底,将有超过10亿人口获得5G网络覆盖
- 机器人|网络里面的假消息忽悠了非常多的小喷子和小机器人
- 张大|2020年财务公布:张大仙一年收入负1400W?活该是一姐
- 资本|2020年中国人工智能医疗行业发展现状分析 处于成长期且资本热度高
- 再见|2020年:三星S20再见了!2021年:三星S21我来了!
- 脉搏|把握时代发展脉搏,尽展巴蜀版权风采——2020年成都数字版权交易博览会成功举办
- 广告点击|广告效果评估:30天的广告时间评估最全面
- 中国汽车|2020年,我们攒了一个局,串了一条链,下了一盘棋
- 出炉|B站2020年度弹幕出炉!第一名竟然是它?