当前位置: 首页 > news >正文

2024.9.26 作业 +思维导图

 一、作业

1、什么是虚函数?什么是纯虚函数

 虚函数:函数前加关键字virtual,就定义为虚函数,虚函数能够被子类中相同函数名的函数重写

纯虚函数:把虚函数的函数体去掉然后加=0;就能定义出一个纯虚函数。

2、基类为什么需要虚析构函数

虚析构函数是为了解决多态导致的子类中空间只能释放父类继承下来部分的空间的问题,虚析构函数可以使空间全部释放,避免产生内存泄漏,所以在使用继承的时候,尽量就要加上虚析构函数

3、如何初始化const和static数据成员

const成员必须在初始化列表中进行初始化

static数据成员在类外进行初始化

 4、指针和引用的区别

1、指针定义使用*,引用定义使用&

2、指针可以不初始化(野指针),但是引用必须初始化

3、在函数形参列表中的使用,指针是另一个指针与原指针指向的是一个空间,引用的形参就是外部使用函数输入的参数本身

4、没有空引用,但是有空指针

5、没有多级引用,但是有多级指针

6、指针根据系统占4字节,8字节的空间,引用所占的内存空间和被引用的对象的空间一致

7、引用的使用与目标一致,而指针的使用需要解引用*

8、没有引用数组,但是可以定义指针数组

5、new和malloc的区别

 1、定义格式不一样

2、new可以通过定义的数据类型自动计算要分配的空间,而malloc需要自己手动计算空间

3、new是函数调用,需要开辟内存空间,malloc是c语言的关键字,不需要额外开辟内存空间

4、new定义时可以给对象初始化,而malloc不能给对象初始化

5、new不用强转,而malloc定义void*类型使用的时候需要强转成其他类型

6、内存泄漏怎么产生的?如何避免?

 内存泄漏是开辟了一块内存空间,使用完之后没有及时释放,就会发生内存泄漏

7、C++的内存分区 

 堆区,栈区,代码段,数据段,自由存储区

 9、常用的数据结构有哪些?时间复杂度和空间复杂度如何使用?

 栈,队列,数组,链表,哈希表,图

时间复杂度和空间复杂度要结合使用,在时间不能太长的同时也不能占用太多的内存空间

 

 二、思维导图

 


http://www.mrgr.cn/news/36927.html

相关文章:

  • Git常用方法——详解
  • windows 录音编码为flv格式时,pcm采样格式
  • element-plus 日历组件 Calendar设置每周第一天为周一-非国际化版
  • 关于uniapp wifi调用走过的坑
  • 面向对象的三大特性:封装、继承、多态
  • FPGA学习--verlog基础语法篇
  • 天童美语:培养孩子的环保意识
  • 【在Linux世界中追寻伟大的One Piece】进程间通信
  • Redis篇(初识Redis)
  • 二叉树进阶
  • 【RabbitMQ 项目】客户端:信道模块
  • Redis篇(环境搭建)
  • python实现石头,剪刀,布(turtle库简易版)
  • centos系统安装宝塔面板
  • Oracle查询(下)
  • “JavaScript 与 HTML 表单交互”
  • Iceberg 基本操作和快速入门
  • 程序编译的四个阶段
  • 163页制造业变革转型:营销/服务/研发/供应链/制造/质量/财务
  • TCP协议