玉山县建设局的网站,兰溪市建设局官方网站,青岛房产网链家,wordpress首行缩进1.虚函数是在基类中用 virtual 关键字声明的函数#xff0c;可以在派生类中被重写。纯虚函数是在虚函数的基础上#xff0c;在基类中被初始化为 0 的函数#xff0c;含有纯虚函数的类是抽象类#xff0c;不能被实例化。
2.如果基类的析构函数不是虚函数#xff0c;当通过…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.常用数据结构有数组、链表、栈、队列、树、图等。时间复杂度用于衡量算法运行时间随输入规模的增长速度空间复杂度衡量算法所需存储空间随输入规模的增长情况。