我的面经

电信云计算

重载与覆盖的区别

 重载覆盖隐藏1隐藏2
函数名相同相同相同相同
函数返回类型相同相同相同相同
函数参数个数不同相同不同相同
有无vitral有/无基类有有/无

重载是一个类中,函数返回类型,函数名相同,参数不同的函数为重载函数。覆盖是在基类与派生类之间,派生类中与基类相同函数名,相同函数参数的函数。

什么是虚析构函数

C++中基类采用virtual虚析构函数是为了防止内存泄漏。具体地说,如果派生类中申请了内存空间,并在其析构函数中对这些内存空间进行释放。假设基类中采用的是非虚析构函数,当删除基类指针指向的派生类对象就不会触发动态绑定,因而只会调用基类的析构函数而不会调用派生类的析构函数。那么在这种情况下,派生类中申请的空间就得不到释放从而产生内存泄漏。所以,为了防止这种情况的发生,C++中基类的析构函数应采用virtual虚析构函数。

东方国信

一个程序从编写到运行需要什么步骤

猿辅导

自我介绍

什么是MVC(看简历提问)

C++的多态是什么

(1)静态多态(重载,模板)

是在编译的时候,就确定调用函数的类型

(2)动态多态(覆盖,虚函数实现)

运行的时候,才确定调用的是哪个函数,动态绑定。运行基类指针指向派生类的对象,并调用派生类的函数。

虚函数实现原理:虚函数表和虚函数指针。

纯虚函数: virtual int fun() = 0;

指针与引用的区别

  1. 指针是一个实体,需要分配内存空间。引用只是变量的别名,不需要分配内存空间。
  2. 引用在定义的时候必须进行初始化,并且不能够改变。指针在定义的时候不一定要初始化,并且指向的空间可变。(注:不能有引用的值不能为NULL)
  3. 多级指针,但是没有多级引用,只能有一级引用。
  4. 指针和引用的自增运算结果不一样。(指针是指向下一个空间,引用时引用的变量值加1)
  5. sizeof 引用得到的是所指向的变量(对象)的大小,而sizeof 指针得到的是指针本身的大小。
  6. 引用访问一个变量是直接访问,而指针访问一个变量是间接访问。
  7. 使用指针前最好做类型检查,防止野指针的出现;
  8. 引用底层是通过指针实现的;
  9. 作为参数时也不同,传指针的实质是传值,传递的值是指针的地址;传引用的实质是传地址,传递的是变量的地址。

static关键字的作用

const的作用

笔试题:

一个数字按位依次放入一个单链表,低位在尾部。求执行➕1 ***作后的单链表。要求:空间复杂度为O(1)。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值