当前位置: 首页 > 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.lryc.cn/news/447290.html

相关文章:

  • WSL进阶体验:gnome-terminal启动指南与中文显示问题一网打尽
  • recoil和redux之间的选择
  • 无人机的作战指挥中心-地面站!
  • Vue 23进阶面试题:(第八天)
  • Acwing 最小生成树
  • VIM简要介绍
  • .NET 6.0 使用log4net配置日志记录方法
  • Unity角色控制及Animator动画切换如走跑跳攻击
  • JSP+Servlet+Mybatis实现列表显示和批量删除等功能
  • Cannot read properties of undefined (reading ‘upgrade‘)
  • javaJUC基础
  • std::distance 函数介绍
  • 如何在Windows和Linux之间实现粘贴复制
  • 【第十七章:Sentosa_DSML社区版-机器学习之异常检测】
  • 【Vue】为什么 Vue 不使用 React 的分片更新?
  • 大学生科技竞赛系统小程序的设计
  • 什么是聚集索引?
  • Centos/fedora/openEuler 终端中文显示配置
  • 使用kaggle命令下载数据集和模型
  • 生信初学者教程(十一):数据校正
  • JS设计模式之桥接模式:搭建跨越维度的通路
  • 苹果电脑系统重磅更新——macOS Sequoia 15 系统 新功能一 览
  • DoppelGanger++:面向数据库重放的快速依赖关系图生成
  • Linux(含麒麟操作系统)如何实现多显示器屏幕采集录制
  • calibre-web默认左上角字体修改
  • 考研数据结构——C语言实现归并排序
  • LDO功率管选取NMOS和PMOS区别
  • 【Linux】进程的标识符、状态(超详解)
  • Elasticsearch 启动后在浏览器输入http://localhost:9200 访问失败
  • javascript中new操作符的工作原理