C/C++面试基础

C++的三大特性

继承、封装、多态
多态主要有两种:
1.静态多态,主要表现形式是子类重写父类的同名函数
2.运行时多态,也可称为动态多态,主要表现形式是虚函数

C++函数

赋值构造函数调用时机:已经初始化的实例用另外的实例赋值
拷贝构造函数调用时机:
1.用实例来初始化实例
2.实例作为函数参数进行值传递
3.实例作为函数返回值来初始化实例
参考:赋值、复制构造函数

堆和栈的区别

一个由C/C++编译的程序占用的内存分为以下几个部分
1、栈区(stack)——由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。
2、堆区(heap)——一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收

虚函数的实现方式

子类会继承父类的虚函数表,并进行两步操作:
1.对于子类独有的函数会依次添加在父类的虚函数表后面
2.对于子类重新重新实现的虚函数,会将虚函数表父类的同名函数替换为子类的函数名
虚函数实现原理描述

文章版权:My-World - 勿于浮沙筑高台

本文链接:http://doachieveit.cn/index.php/archives/82.html

版权声明:本文为作者原创,转载请注明文章原始出处 !

添加新评论