- 博客(12)
- 收藏
- 关注
原创 C++——内联函数
内联函数:在函数调用处直接嵌入函数体的函数,以inline修饰的函数,编译时c++编译器会在调用内联函数的地方展开,没有函数调用建立栈帧的开销,内联函数提升程序运行效率。
2023-06-03 22:05:17
45
原创 C++——菱形继承及菱形虚拟继承
1.public继承是一种is-a的关系。也就是说每个派生类对象都是一个基类对象。2.组合是一种has-a的关系。假设B组合了A,每个B对象中都有一个A对象。has-a表示包含关系,是整体与部分的关系,同时它们的生命周期都是一样的;use-a表示使用关系,依然是其中一个拥有另外一个,但是不负责销毁,也就是声明周期不一样。is-a表示继承关系,父类与子类,具有很高的耦合度。3.优先使用对象组合,而不是类继承(继承的耦合度比较高于组合)耦合性:是对模块关联程度的度量。耦合的强弱取决于。
2023-04-27 12:48:36
55
原创 【无标题】C++——继承
1.继承机制是面向对象程序设计使代码可以复用的重要手段2.**派生类:**程序员在保持原有类特性的基础上进行扩展,增加功能,产生的类3.**继承呈现了面向对象程序设计的层次结构,**体现了由简单到复杂的认知过程4.继承是类设计层次的复用1.Person是父类,也称基类2.Student是子类,也称派生类。
2023-04-26 22:40:46
51
原创 C++——析构函数
6.如果类中没有申请资源时,析构函数可以不写,直接使用编译器生成的默认析构函数,比如Date类;有资源申请时,一定要写,否则会造成资源泄漏,比如Stack类。一个类只能有一个析构函数。若未显式定义,系统会自动生成默认的析构函数。5.编译器生成的默认析构函数,对自定类型成员调用它的析构函数。对象生命周期结束时,C++编译系统系统自动调用析构函数。析构函数名是在类名前加上字符 ~。无参数无返回值类型。
2023-04-26 20:34:20
67
原创 C++——构造函数
内置类型就是语言提供的数据类型,如:int/char…,自定义类型就是我们使用class/struct/union等自己定义的类型,看看下面的程序,就会发现编译器生成默认的构造函数会对自定类型成员_t调用的它的默认成员函数。
2023-04-26 20:18:04
50
原创 指针--一系列指针
1.指针概念:(1)指针就是一个变量,用来存放地址,地址唯一标识一块内存空间(2)指针大小是固定的4/8个字节(32位平台/64位平台)(3)指针是有类型,指针的类型决定了指针的±整数的步长,指针解引用操作的时候的权限。
2023-04-08 21:24:57
31
原创 string类题目练习
题目描述:输入一行字符串,有很多个单词,单词以空格隔开。计算字符串最后一个单词的长度} return 0;1.rfind():从字符串pos位置开始往前找字符c,并且返回该字符在字符串的位置思路:本题目中使用rfind函数将空格前的字符找出来,在使用全部的长度减去前部分长度,剩余的就是后半段的长度。
2023-03-25 22:40:12
131
原创 题目练习1
使用sort函数先将数组中的数字进行排序,有题目可知道,想要求出平均值,不会是最大的数,而是次大的数,与之相隔的数字,所以先遍历找到这些数字之后在相加。n个选手,每个选手都有一个水平值a_i.现在要将这些选手进行组队,一共组成n个队伍,即每个队伍3人.牛牛发现队伍的水平值等于该队伍队员中第二高水平值。:使用哈希表进行将在每个字符的位置上进行标记,先将要删除的字母标记成1,在遍历每个字符,将是0的字符放在另一个字符串里,最后将新的字符串输出。一个队伍三个队员的水平值分别是3,3,3.那么队伍的水平值是3。
2023-03-21 22:01:58
27
原创 类与对象——在谈构造函数
3.尽量使用初始化列表初始化,因为不管你是否使用初始化列表,对于自定义类型成员变量,一定会先使用初始化列表初始化。在创建对象时,编译器通过调用构造函数,给对象中各个成员变量一个合适的初始值。explicit关键字修饰构造函数,禁止类型转换,禁止构造函数的隐式转换。,每个==“成员变量”==后面跟一个放在括号中的初始值或表达式。上述代码中虽然构造函数调用后,对象中已经有了一个初始值,但是。初始化列表(是所有成员变量定义的位置)1.每个成员变量在初始化列表中。(初始化只能初始化一次)。,与其在初始化列表中的。
2023-03-19 17:55:32
63
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人