C++

https://download-1257114136.cos.ap-nanjing.myqcloud.com/CodeInfo%2Fc.png

简述 private、 protected、 public、internal 修饰符的访问权限

private:私有成员,在类的内部可以访问; protected:保护成员,该类的内部和子类可以访问; friend:友元,声明friend元素的程序集中的代码可以访问该元素,而…

new和malloc的区别

1.new内存分配失败时,会抛出bac_alloc异常,它不会返回NULL;malloc内存分配失败时会返回NULL。 2.使用new操作符申请内存分配时无需指定内存块的大小,而m…

堆和栈的区别?

1)栈 stack 存放函数的参数值、局部变量,由编译器自动分配释放,堆heap,是由new分配的内存块,由应用程序控制,需要程序员手动利用delete释放,如果没有,程序结束后,…

构造函数为什么一般不定义为虚函数?而析构函数一般写成虚函数的原因 ?

1、构造函数不能声明为虚函数 1)因为创建一个对象时需要确定对象的类型,而虚函数是在运行时确定其类型的。而在构造一个对象时,由于对象还未创建成功,编译器无法知道对象的实际类型,是类…

什么情况下会调用拷贝构造函数?

系统自动生成的构造函数:普通构造函数和拷贝构造函数 (在没有定义对应的构造函数的时候)生成一个实例化的对象会调用一次普通构造函数,而用一个对象去实例化一个新的对象所调用的就是拷贝构…

介绍下抽象类、接口类、聚合类?

抽象类:含有纯虚函数的类。 接口类:仅含有纯虚函数的抽象类。 聚合类:用户可以直接访问其成员,并且具有特殊的初始化语法形式。满足如下特点: 所有成员都是 public 没有定义任何…

虚函数指针、虚函数表

虚函数指针:在含有虚函数类的对象中,指向虚函数表,在运行时确定。 虚函数表:在程序只读数据段(.rodata section,见:目标文件存储结构),存放虚函数指针,如果派生类实现…

什么是装箱,拆箱?

装箱:将值类型变成引用类型,对值类型在堆中分配一个对象实例,并将该值赋值到一个新的对象中。 第一步:新分配托管堆,内存大小为值类型大小加上一个方法表指针; 第二步:将值类型的实例字…

虚函数、纯虚函数

1.类里如果声明了虚函数,这个函数是实现的,哪怕是空实现,它的作用就是为了能让这个函数在它的子类里面可以被覆盖(override),这样的话,编译器就可以使用后期绑定来达到多态了。…

静态绑定和动态绑定的介绍?

静态绑定和动态绑定是C++多态性的一种特性。 对象的静态类型和动态类型: 静态类型:对象在声明时采用的类型,在编译时确定。 动态类型:当前对象所指的类型,在运行期决定,对象的动态类…

加载更多