C++之高频面试题目有整理
2018-04-08 15:40
381 查看
1、面向对象编程的特点
封装、继承、多态。
封装:把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。(优点:可以隐藏实现细节,使得代码模块化)
继承:可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。(优点:可以扩展已存在的代码模块(类))
多态:一个类实例的相同方法在不同情形有不同表现形式。多态机制使具有不同内部结构的对象可以共享相同的外部接口。虽然针对不同对象的具体操作不同,但通过一个公共的类,这些操作可以通过相同的方式被调用。
多态实现的两种方式:父类指针指向子类对象或将一个基类的引用类型赋值为它的派生类实例。(重要:虚函数 + 指针或引用)
构造函数、复制构造函数、析构函数、赋值运算符不能被继承。
2、计算机加载程序包含了哪几个区
一个由C/C++编译的程序占用的内存分为以下几个部分:
(1)栈区(stack):—由编译器自动分配释放,存放函数的参数值,局部变量的值等。可静态也可动态分配。其操作方式类似于数据结构中的栈。
(2)堆区(heap):一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。动态分配。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。
(3)全局区(静态区):—程序结束后由系统释放,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域;未初始化的全局变量和静态变量在相邻的另一块区域(BSS,Block Started by Symbol),在程序执行之前BSS段会自动清0。
(4)文字常量区:—程序结束后由系统释放,常量字符串就是放在这里的。
(5)程序代码区:—存放函数体的二进制代码。
相关文章推荐
- ES6高频面试题目整理
- 经典C++面试题目整理
- linux c/c++ 面试题目整理(三)
- linux c/c++ 面试题目整理(二)
- linux c/c++ 面试题目整理(一)
- 最基础c++面试题目整理
- C/C++典型面试题目整理001
- 常见C++笔试题目整理(含答案)10
- C/C++ 笔试、面试题目大汇总(转)
- 面试之C++题目汇总6
- c++ 面试题目集
- 华为--C++ 笔试面试题目
- C++面试常见问题整理汇总
- 嵌入式面试中可能问到的题目和答案整理(硬件篇)
- C/C++ 笔试、面试题目(一)
- C/C++ 笔试、面试题目大汇总
- C++面试笔试常见题目(一)
- C++面试常见题目问与答(汇总一)
- C/C++面试题目集锦
- 各种各样的面试题目整理