学习C++的第七天!

devtools/2024/10/18 7:51:27/

1.虚函数是在基类中用 virtual 关键字声明的函数,可以在派生类中被重写。纯虚函数是在虚函数的基础上,在基类中被初始化为 0 的函数,含有纯虚函数的类是抽象类,不能被实例化。

2.如果基类的析构函数不是虚函数,当通过基类指针删除指向派生类对象的指针时,只会调用基类的析构函数,而不会调用派生类的析构函数,可能导致资源泄漏等问题。有了虚析构函数,在删除指向派生类对象的基类指针时,会先调用派生类的析构函数,再调用基类的析构函数,确保正确释放资源。

3.在 C++中,const 数据成员通常在构造函数初始化列表中进行初始化。而 static 数据成员在类外部进行定义和初始化,且只能初始化一次。初始化 const 数据成员保证其在对象创建后不能被修改;初始化 static 数据成员则为所有对象共享该静态成员提供了正确的初始值。

4. ① 指针是一个变量,存储的是内存地址;引用是一个别名,必须在初始化时绑定到一个对象。 ② 指针可以为空,引用不能为空。 ③指针可以重新赋值指向不同的地址,引用一旦绑定就不能更改指向。

5.① new 是运算符,malloc 是函数。 ② new 在分配内存时会调用构造函数进行初始化,malloc 只是单纯分配内存,不进行初始化。 ③new 失败时会抛出异常,malloc 失败时返回 NULL。 ④ new 返回的是对象类型的指针,malloc 返回的是 void* 类型指针,需要强制转换。

6.内存泄漏是由于程序中动态分配的内存未被正确释放而产生。例如,忘记释放不再使用的指针指向的内存、循环引用等情况都可能导致内存泄漏。 避免内存泄漏的方法有:及时释放不再使用的内存资源;避免循环引用;使用智能指针等工具来自动管理内存。

7.C++内存分区主要包括栈区、堆区、全局区(静态区)、常量区和代码区。栈区由编译器自动分配释放,存放函数参数值、局部变量等;堆区由程序员手动分配和释放,用于动态内存分配;全局区存放全局变量和静态变量;常量区存放常量;代码区存放程序的二进制代码。

9.常用数据结构有数组、链表、栈、队列、树、图等。时间复杂度用于衡量算法运行时间随输入规模的增长速度;空间复杂度衡量算法所需存储空间随输入规模的增长情况。


http://www.ppmy.cn/devtools/117904.html

相关文章

【Vue】以RuoYi框架前端为例,ElementUI封装图片上传组件——将图片信息转成base64后提交到后端保存

RuoYi 框架本身对于图片上传功能&#xff0c;在ElementUI的 <el-upload> 组件的基础装封装了 /components/ImageUpload/index.vue 组件。本组件就是在 RuoYi 自定义的 <ImageUpload> 组件的基础上进行改造&#xff0c;将图片的信息在上传之前处理成 base64 格式&am…

基于matlab语音滤波系统

实验目的 1、学会MATLAB的使用&#xff0c;掌握其程序设计方法&#xff0c;学会对信号进行分析和处理&#xff1b; 2、掌握语音信号的采集、存储和时频分析&#xff1b; 3、要求掌握IIR数字滤波器的设计原理、设计方法和设计步骤&#xff1b; 4、学习用窗函数法设计FIR数字…

【Linux实践】实验七:vi编辑器的使用

【Linux实践】实验七&#xff1a;vi编辑器的使用 实验目的实验内容实验步骤及结果1. 挂载磁盘2. vi编辑器3. 使用 vi 创建文件4. 扩展功能 实验目的 7、掌握挂载和卸载文件系统的方法。 8、掌握vi编辑器的使用方法。 实验内容 1、使用命令挂载U盘&#xff0c;并能正确显示U盘…

【Python报错已解决】TypeError: tuple indices must be integers or slices, not str

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 专栏介绍 在软件开发和日常使用中&#xff0c;BUG是不可避免的。本专栏致力于为广大开发者和技术爱好者提供一个关于BUG解决的经…

打造同城O2O平台:外卖跑腿APP的架构与功能设计详解

今天&#xff0c;小编将于大家共同讨论外卖跑腿APP的架构设计及其核心功能&#xff0c;旨在为开发者提供一份详尽的参考。 一、外卖跑腿APP的架构设计 1.整体架构概述 通常包括前端、后端和数据库。 2.前端设计 用户端提供直观的界面&#xff0c;方便用户下单、查询订单状态…

20240927 每日AI必读资讯

猛了&#xff01;Meta震撼发布 Llama 3.2 视觉方面吊打所有闭源模型? - 性能与GPT4o-mini 相当 能够在边缘设备上高效运行 - Llama 3.2包括适用于边缘和移动设备的小型和中型视觉大语言模型&#xff08;11B 和 90B&#xff09;以及轻量文本模型&#xff08;1B 和 3B&#xf…

数学符号练习篇-函数

前言 其实主要的目的是可以在文本中输出各种数学符号&#xff0c;便于以后用到的时候有现成的例子拿过来抄~~ 函数的定义 量和量之间的关系:如 A π R 2 AπR^2 AπR2 y f ( x ) yf(x) yf(x) 中 f f f为函数&#xff0c; x x x为自变量&#xff0c; y y y因变量出 函数在…

TypeScript 中的接口、泛型与自定义类型

TypeScript 是一种超集语言&#xff0c;它为 JavaScript 添加了静态类型检查。通过 TypeScript&#xff0c;开发者可以获得更好的工具支持&#xff0c;并且能够编写出更加健壮的代码。本文将探讨 TypeScript 中的几个关键特性&#xff1a;接口、泛型以及如何创建自定义类型。 …