- 博客(10)
- 收藏
- 关注
原创 c++深拷贝调用时机
总结:如果属性有在堆区开辟的,一定要自己提供拷贝构造函数,防止浅拷贝带来的重复释放空间的问题。深拷贝:在堆区重新申请空间,进行拷贝操作。浅拷贝:简单的赋值操作。
2022-10-11 21:11:05
183
原创 c++中的继承派生类于父类的关系
用基类的指针指向不同的派生类的对象时,基类指针调用其虚成员函数,则会调用其真正指向对象的成员函数,而不是基类中定义的成员函数。(1)如果子类的构造函数没有显示调用父类的构造,则将会调用父类的无参构造函数。4、父类同时声明了无参和带参构造函数(派生类可以随便写,可以选择性初始化父类,切记父类带参构造函数不能有默认值)3、父类只声明了带参的构造函数(派生类要显示调用父类的构造函数,除非父类的构造有初始值,否则会爆错)(2)如果子类的构造函数没有显示的调用父类的构造函数,则默认调用父类的无参构造函数。
2022-10-08 20:15:57
398
原创 c++静态成员小结
5、静态成员变量也是有访问权限的,类外访问不到私有区的静态成员变量。4、静态成员函数也是有访问权限的,类外访问不到私有区的静态成员函数。2、在编译阶段分配在全局区内(存储在数据段中)2、静态成员函数只能访问静态成员变量。3、静态成员函数无法使用this指针。1、所有的对象共享同一份数据。1、所有的对象共享同一个函数。4、可以直接通过类名访问,3、类内声明,类外初始化。2、直接通过类名访问。
2022-09-19 23:50:26
173
原创 临时对象是啥
4、临时对象是性能的瓶颈,也是bug产生的来源之一,现代的编译器会尽力避开临时对象,实际开发中需要人为的避开临时对象。2、临时对象的生命周期只有一条语句的时间(过了这条语句,临时对象会被析构)当我们直接调用构造函数的时候,会产生一临时对象。3、临时对象的作用域只在一条语句中。
2022-09-13 14:48:51
637
原创 class和struct的区别
2、c语言中的struct没有访问限定,而c++的class有public、protected和private三种访问限定。1、c++中的struct的默认访问限定是public,而class的默认访问限定是private。2、c++中struct的默认继承权限是public,而class的默认继承权限是private。1、c语言中的struct只拥有自己的成员变量,而不拥有自己的成员方法。
2022-09-13 14:46:33
219
原创 c++成员函数《局部多云转雨》
1、格式静态数据成员初始化格式:《数据类型》《类名》 ::《静态数据成员名》=《值》引用格式:《类名》::《静态成员名(成员数据/成员函数)》a、只能被初始化一次,下次执行该语句时自动跳过b、属于类,而非具体对象3、静态成员函数性质a、不包括指向具体对象的this指针b、不可以直接调用普通函数c、类加载时分配内存空间属于类而非具体对象。
2022-09-13 14:43:17
217
原创 构造函数与析构函数详解
5、构造函数可以没有参数,也可以包含一个以上的参数,带参的构造函数用于初始化成员变量。注意:在编写类的有参构造函数时一定要记得写上一个无参的构造函数,不然报错。当一个类没有编写构造函数时,系统会自动生成一个无参默认构造函数。4、析构函数没有参数列表,重载的依据是参数参数列表。4、构造函数不一定要定义,也可以调用基类构造函数。3、函数不需要用户调用,在创建对象时自动调用。1、函数名与类名相同在函数名前面添加~//设计一个构造函数。2、函数没有返回值,没有参数。1、函数名与类名相同。
2022-09-12 00:30:34
741
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人