家具网站设计网站,wordpress 收费课程,金湖建设局网站,建设手机银行注销网站一、作业 1、什么是虚函数#xff1f;什么是纯虚函数 虚函数#xff1a;函数前加关键字virtual#xff0c;就定义为虚函数#xff0c;虚函数能够被子类中相同函数名的函数重写
纯虚函数#xff1a;把虚函数的函数体去掉然后加0#xff1b;就能定义出一个纯虚函数。 2、基… 一、作业 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、常用的数据结构有哪些时间复杂度和空间复杂度如何使用 栈队列数组链表哈希表图
时间复杂度和空间复杂度要结合使用在时间不能太长的同时也不能占用太多的内存空间 二、思维导图