C++
文章平均质量分 88
大彤小忆
永远不要停下前进的脚步^o^
展开
-
C++学习系列内容汇总
一、C++基础入门C++学习过程中的一些经验与方法C++基础入门(一)—— C++初识C++基础入门(二)—— 数据类型C++基础入门(三)—— 运算符C++基础入门(四)—— 程序流程结构(上)C++基础入门(四)—— 程序流程结构(下)C++基础入门(五)—— 数组C++基础入门(六)—— 函数C++基础入门(七)—— 指针C++基础入门(八)—— 结构体C++基础入门(九)—— 案例:通讯录管理系统二、C++核心编程C++核心编程(一)—— 内存分区模型C++核心编程原创 2021-04-23 15:26:01 · 6528 阅读 · 0 评论 -
C++学习过程中的一些经验与方法
C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++ 是一种中级语言,综合了高级语言和低级语言的特点,它是由 Bjarne Stroustrup 于 1979 年在贝尔实验室开始设计开发的。C++ 进一步扩充和完善了 C 语言,是一种面向对象的程序设计语言。C++ 可运行于多种平台上,如 Windows、MAC 操作系统以及 UNIX 的各种版本。 C++ 是一种静态类型的、编译式的、通原创 2021-03-13 09:39:55 · 3401 阅读 · 2 评论 -
面试常见问答之C++
编程语言C、C++、C#、Java、PHP、Python、MATLAB对比。 C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。 ⋄\diamond⋄ 优点:广泛性、简洁性、结构完善。 ⋄\diamond⋄ 缺点:数据的封装性弱; 语法限制不太严格,对变量的类型约束不严格。 ⋄\diamond⋄ 用途:一般只用于嵌入式硬件开..原创 2021-07-20 17:15:34 · 416 阅读 · 0 评论 -
MFC的一些知识
微软基础类库(英语:Microsoft Foundation Classes,简称MFC)是一个微软公司提供的类库(class libraries),以C++类的形式封装了Windows API,并且包含一个(也是微软产品的唯一一个)应用程序框架,以减少应用程序开发人员的工作量。其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。 MFC是微软公司实现的一个C++类库,主要封装了大部分的windows API函数,所以在MFC中我们可以直接调用 Windows原创 2021-09-07 16:56:20 · 894 阅读 · 0 评论 -
struct与class关键字的选择
struct表示数据的简单集合,公开定义数据成员,只定义用于初始化数据成员的方法(比如构造/析构函数,initialize(),reset(),validate())。 class表示被封装的用户自定义类型,不公开定义非静态数据成员,一般通过成员方法进行交互。 在C++中struct与class只有默认成员权限上的差别。但struct是从C语言中借来的概念,因此应该尽可能保持其语义与C语言中的一致――单纯的数据集合。 示例://简单的数据聚合,没有动作struct Coordinate{原创 2021-06-22 11:07:46 · 543 阅读 · 0 评论 -
C++ 综合大案例 :机房预约系统(4)
1. 机房预约系统需求2. 创建项目3. 创建主菜单4. 退出功能实现5. 创建身份类6. 登录模块7. 管理员模块8. 学生模块9. 老师模块10. 附录:完整代码10.1 机房预约系统.cpp10.2 Identity.h10.3 student.h10.4 student.cpp10.5 teacher.h10.6 teacher.cpp10.7 manager.h10.8 manager.cpp10.9 globalFile.h10.10 computerRoom.h10.11 orderFil.原创 2021-04-22 19:15:45 · 3723 阅读 · 0 评论 -
C++ 综合大案例 :机房预约系统(3)
1. 机房预约系统需求2. 创建项目3. 创建主菜单4. 退出功能实现5. 创建身份类6. 登录模块7. 管理员模块8. 学生模块8.1 学生登录和注销8.1.1 构造函数8.1.2 管理员子菜单8.1.3 菜单功能实现8.1.4 接口对接8.2 申请预约8.2.1 获取机房信息8.2.2 预约功能实现8.3 显示预约8.3.1 创建预约类8.3.2 显示自身预约8.3.3 显示所有预约8.4 取消预约9. 老师模块9.1 老师登录和注销9.1.1 构造函数9.1.2 老师子菜单9.1.3 菜单功能实.原创 2021-04-22 19:15:10 · 3938 阅读 · 0 评论 -
C++ 综合大案例 :机房预约系统(2)
1. 机房预约系统需求2. 创建项目3. 创建主菜单4. 退出功能实现5. 创建身份类6. 登录模块7. 管理员模块7.1 管理员登录和注销7.1.1 构造函数7.1.2 管理员子菜单7.1.3 菜单功能实现7.1.4 接口对接7.2 添加账号7.2.1 添加功能实现7.2.2 去重操作7.2.2.1 读取信息7.2.2.2 去重函数封装7.2.2.3 添加去重操作7.2.2.4 bug解决7.3 显示账号7.3.1 显示功能实现7.3.2 测试7.4 查看机房7.4.1 添加机房信息7.4.2 机.原创 2021-04-22 19:14:34 · 3687 阅读 · 0 评论 -
C++ 综合大案例 :机房预约系统(1)
1. 机房预约系统需求1.1 系统简介1.2 身份简介1.3 机房简介1.4 申请简介1.5 系统具体需求2. 创建项目3. 创建主菜单3.1 菜单实现3.2 搭建接口4. 退出功能实现4.1 退出功能实现4.2 测试退出功能5. 创建身份类5.1 身份的基类5.2 学生类5.2.1 功能分析5.2.2 类的创建5.3 老师类5.3.1 功能分析5.3.2 类的创建5.4 管理员类5.4.1 功能分析5.4.2 类的创建6. 登录模块6.1 全局文件添加6.2 登录函数封装6.3 学生登录实现6.4 教.原创 2021-04-22 19:13:51 · 4345 阅读 · 1 评论 -
解决C++中读取txt文件内容时出现乱码的问题
学习黑马程序员C++课程的过程中,在做到最后一个综合大案例——机房预约系统时,学生登录功能实现过程中出现了读取txt文件中的内容乱码的问题,如下图所示。 对于这一问题,我们需要打开目标txt文件,将目标文件另存为,并修改编码方式为ANSI,然后点击保存。 再次运行程序,发现内容显示正常,如下图所示。...原创 2021-04-21 11:16:45 · 4958 阅读 · 2 评论 -
C++提高编程(六)—— 案例 :演讲比赛流程管理系统(下)
1. 演讲比赛程序需求2. 创建项目3. 创建管理类4. 菜单功能5. 退出功能6. 演讲比赛功能7. 查看记录8. 清空记录9. 附录:完整代码9.1 演讲比赛流程管理系统.cpp9.2 speechManager.h9.3 speechManager.cpp9.4 speaker.h1. 演讲比赛程序需求2. 创建项目3. 创建管理类4. 菜单功能5. 退出功能6. 演讲比赛功能7. 查看记录8. 清空记录9. 附录:完整代码9.1 演讲比赛流程管理系统.cpp#include&.原创 2021-04-19 22:38:29 · 3292 阅读 · 0 评论 -
C++提高编程(六)—— 案例 :演讲比赛流程管理系统(上)
1. 演讲比赛程序需求1.1 比赛规则1.2 程序功能1.3 程序效果图2. 创建项目3. 创建管理类3.1创建文件3.2 头文件实现3.3 源文件实现4. 菜单功能4.1 添加成员函数4.2 菜单功能实现4.3 测试菜单功能5. 退出功能5.1 提供功能接口5.2 实现退出功能5.3 测试功能6. 演讲比赛功能6.1 功能分析6.2 创建选手类6.3 比赛6.3.1 成员属性添加6.3.2 初始化属性6.3.3 创建选手6.3.4 开始比赛成员函数添加6.3.5 抽签6.3.6 开始比赛6.3.7 显.原创 2021-04-19 22:36:40 · 4868 阅读 · 4 评论 -
C++提高编程(五)—— STL常用算法(6) :常用集合算法
6. 常用集合算法6.1 set_intersection6.2 set_union6.3 set_difference6. 常用集合算法 学习目标: 掌握常用的集合算法。 算法简介:set_intersection // 求两个容器的交集set_union // 求两个容器的并集set_difference // 求两个容器的差集6.1 set_intersection 功能描.原创 2021-04-15 20:10:47 · 3257 阅读 · 0 评论 -
C++提高编程(五)—— STL常用算法(5) :常用算术生成算法
5. 常用算术生成算法5.1 accumulate5.2 fill5. 常用算术生成算法 学习目标: 掌握常用的算术生成算法。 注意: 算术生成算法属于小型算法,使用时包含的头文件为 #include <numeric>。 算法简介:accumulate // 计算容器元素累计总和fill // 向容器中添加元素5.1 accumulate 功能描述: 计算区间内的容器元素累计总和。 函数原型: accumul.原创 2021-04-15 18:11:12 · 3272 阅读 · 0 评论 -
C++提高编程(五)—— STL常用算法(4) :常用拷贝和替换算法
4. 常用拷贝和替换算法4.1 copy4.2 replace4.3 replace_if4.4 swap4. 常用拷贝和替换算法 学习目标: 掌握常用的拷贝和替换算法。 算法简介:copy // 容器内指定范围的元素拷贝到另一容器中replace // 将容器内指定范围的旧元素修改为新元素replace_if // 容器内指定范围满足条件的元素替换为新元素swap .原创 2021-04-15 17:11:57 · 3238 阅读 · 0 评论 -
C++提高编程(五)—— STL常用算法(3) :常用排序算法
3. 常用排序算法3.1 sort3.2 random_shuffle3.3 merge5.3.4 reverse3. 常用排序算法 学习目标: 掌握常用的排序算法。 算法简介:sort //对容器内元素进行排序random_shuffle //洗牌,对指定范围内的元素随机调整次序merge // 容器元素合并,并存储到另一容器中reverse // 反转指定范围的元素3.1 sort 功能描述: 对容器.原创 2021-04-15 16:08:48 · 3298 阅读 · 0 评论 -
C++提高编程(五)—— STL常用算法(2) :常用查找算法
2. 常用查找算法2.1 find2.2 find_if2.3 adjacent_find2.4 binary_search2.5 count2.6 count_if2. 常用查找算法 学习目标: 掌握常用的查找算法。 算法简介:find //查找元素find_if //按条件查找元素adjacent_find //查找相邻重复元素binary_search //二分查找法count .原创 2021-04-15 10:55:04 · 3356 阅读 · 0 评论 -
C++提高编程(五)—— STL常用算法(1) :常用遍历算法
0. 常用算法概述1. 常用遍历算法1.1 for_each1.2 transform0. 常用算法概述算法主要是由头文件<algorithm>、 <functional> 、<numeric>组成;<algorithm>是所有STL头文件中最大的一个,范围涉及到比较、 交换、查找、遍历操作、复制、修改等等;<numeric>体积很小,只包括几个在序列上面进行简单数学运算的模板函数;<functional>定义了一些模板类.原创 2021-04-15 09:30:30 · 3317 阅读 · 0 评论 -
C++提高编程(四)—— STL函数对象
1. 函数对象1.1 函数对象概念1.2 函数对象使用2. 谓词2.1 谓词概念2.2 一元谓词2.3 二元谓词3. 内建函数对象3.1 内建函数对象意义3.2 算术仿函数3.3 关系仿函数3.4 逻辑仿函数1. 函数对象1.1 函数对象概念 概念: 重载函数调用操作符的类,其对象常称为函数对象。函数对象使用重载的()时,行为类似函数调用,也叫仿函数。 本质: 函数对象(仿函数)是一个类,不是一个函数。1.2 函数对象使用 特点: 1. 函数对象在使用时,可以像普通函数那样调用,可.原创 2021-04-14 22:18:35 · 3466 阅读 · 0 评论 -
C++提高编程(三)—— STL常用容器(11) :容器总结
1. 顺序容器2. 容器适配器3. 关联容器1. 顺序容器 一个容器就是一些特定类型对象的集合。顺序容器(sequential container)为程序员提供了控制元素存储和访问顺序的能力。这种顺序不依赖于元素的值,而是与元素加入容器时的位置相对应。 下表列出了标准库中的顺序容器,所有容器都提供了快速顺序访问元素的能力,但是这些容器在两个方面都有不同的性能折中。第一个方面是,向容器中添加或从容器中删除元素的代价;第二个方面是,非顺序访问容器中元素的代价。容器类型简介博客链接.原创 2021-04-14 18:04:27 · 3430 阅读 · 0 评论 -
C++提高编程(三)—— STL常用容器(10) :STL案例2——员工分组
10. 员工分组案例10.1 案例描述10.2 实现步骤10. 员工分组案例10.1 案例描述公司今天招聘了10个员工(A、B、C、D、E、F、G、H、I、J),10名员工进入公司之后,需要指派员工在哪个部门工作;员工信息有:姓名、工资组成;部门分为:策划、美术、研发;随机给10名员工分配部门和工资;通过multimap进行信息的插入key(部门编号)和value(员工);分部门显示员工信息。10.2 实现步骤创建10名员工,放到vector中;遍历vector容器,取出每个员工.原创 2021-04-14 15:41:49 · 3099 阅读 · 1 评论 -
C++提高编程(三)—— STL常用容器(9) :map / multimap容器
9. map / multimap容器9.1 map基本概念9.2 map构造和赋值9.3 map大小和交换9.4 map插入和删除9.5 map查找和统计9.6 map容器排序9. map / multimap容器9.1 map基本概念 简介: 1. map中所有元素都是pair; 2. pair中第一个元素为key(键值),起到索引作用,第二个元素为value(实值); 3. 所有元素都会根据元素的键值自动排序。 本质: map/multimap属于关联式容器,.原创 2021-04-14 11:14:29 · 3457 阅读 · 0 评论 -
C++提高编程(三)—— STL常用容器(8) :set / multiset容器
8. set / multiset容器8.1 set基本概念8.2 set构造和赋值8.3 set大小和交换8.4 set插入和删除8.5 set查找和统计3.8.6 set和multiset区别3.8.7 pair对组创建3.8.8 set容器排序8. set / multiset容器8.1 set基本概念 简介: 所有元素都会在插入时自动被排序。 本质: set/multiset属于关联式容器,底层结构是用二叉树实现。 set和multiset的区别:1. set不允许容器中有重复的元.原创 2021-04-14 09:49:15 · 3327 阅读 · 0 评论 -
C++提高编程(三)—— STL常用容器(7) :list容器
7. list容器7.1 list基本概念7.2 list构造函数7.3 list 赋值和交换7.4 list 大小操作7.5 list 插入和删除7.6 list 数据存取7.7 list 反转和排序7.8 排序案例7. list容器7.1 list基本概念 功能: 将数据进行链式存储。 链表(list)是一种物理存储单元上非连续的存储结构,数据元素的逻辑顺序是通过链表中的指针链接实现的。 链表的组成: 链表由一系列结点组成。 结点的组成: 一个是存储数据元素的数据域,另一个是存储.原创 2021-04-13 21:23:15 · 3500 阅读 · 1 评论 -
C++提高编程(三)—— STL常用容器(6) :queue容器
6. queue容器6.1 queue基本概念3.6.2 queue 常用接口6. queue容器6.1 queue基本概念 概念: Queue是一种先进先出(First In First Out, FIFO)的数据结构,它有两个出口。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-daVe3gEI-1618286327004)(assets/clip_image002-1547606475892.jpg)]队列容器允许从一端新增元素,从另一端移除元素队列中只有.原创 2021-04-13 12:25:55 · 3328 阅读 · 0 评论 -
C++提高编程(三)—— STL常用容器(5) :stack容器
5. stack容器5.1 stack基本概念5.2 stack 常用接口5. stack容器5.1 stack基本概念 概念: stack是一种先进后出(First In Last Out, FILO)的数据结构,它只有一个出口。栈中只有顶端的元素才可以被外界使用,因此栈不允许有遍历行为栈中进入数据称为 — 入栈 push栈中弹出数据称为 — 出栈 pop生活中的栈:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OJ7KO8Zb-1618284.原创 2021-04-13 11:52:40 · 3226 阅读 · 0 评论 -
C++提高编程(三)—— STL常用容器(4) :STL案例1——评委打分
4. 评委打分案例4.1 案例描述4.2 实现步骤4. 评委打分案例4.1 案例描述 有5名选手:选手ABCDE,10个评委分别对每一名选手打分,去除最高分,去除最低分,取平均分。4.2 实现步骤创建五名选手,放到vector中;遍历vector容器,取出来每一个选手,执行for循环,可以把10个评分打分存到deque容器中;sort算法对deque容器中分数排序,去除最高和最低分;deque容器遍历一遍,累加总分;获取平均分。 评委打分案例的代码如下所示。#include&.原创 2021-04-13 10:21:16 · 3103 阅读 · 0 评论 -
C++提高编程(三)—— STL常用容器(3) :deque容器
3. deque容器3.1 deque容器基本概念3.2 deque构造函数3.3 deque赋值操作3.4 deque大小操作3.5 deque插入和删除3.6 deque数据存取3.7 deque排序3. deque容器3.1 deque容器基本概念 功能: 双端数组,可以对头端进行插入删除操作。 deque与vector的区别: 1. vector对于头部的插入删除效率低,数据量越大,效率越低; 2. deque相对而言,对头部的插入删除速度回比vector.原创 2021-04-12 23:01:19 · 3354 阅读 · 0 评论 -
C++提高编程(三)—— STL常用容器(2) :vector容器
2. vector容器2.1 vector基本概念2.2 vector构造函数2.3 vector赋值操作2.4 vector容量和大小操作2.5 vector插入和删除2.6 vector数据存取2.7 vector互换容器2.8 vector预留空间2. vector容器2.1 vector基本概念 功能: vector数据结构和数组非常相似,也称为单端数组。 vector与普通数组区别: 不同之处在于数组是静态空间,而vector可以动态扩展。 动态扩展:并不是在原空间之后续.原创 2021-04-12 20:28:39 · 3491 阅读 · 0 评论 -
C++提高编程(三)—— STL常用容器(1) :string容器
1. string容器1.1 string基本概念1.2 string构造函数1.3 string赋值操作1.4 string字符串拼接1.5 string查找和替换1.6 string字符串比较1.7 string字符存取1.8 string插入和删除1.9 string子串1. string容器1.1 string基本概念 string的本质: string是C++风格的字符串,而string本质上是一个类。 string 和 char * 的区别: 1. char * 是一个指针; .原创 2021-04-10 21:04:15 · 3542 阅读 · 0 评论 -
C++提高编程(二)—— STL初识
1. STL的诞生2. STL基本概念3. STL六大组件4. STL中的容器、算法、迭代器5. 容器算法迭代器初识5.1 vector存放内置数据类型5.2 vector存放自定义数据类型5.3 vector容器嵌套容器1. STL的诞生长久以来,软件界一直希望建立一种可重复利用的东西;C++的面向对象和泛型编程思想,目的就是复用性的提升;大多情况下,数据结构和算法都未能有一套标准,导致被迫从事大量重复工作;为了建立数据结构和算法的一套标准,诞生了STL。2. STL基本概念STL.原创 2021-04-09 23:03:55 · 3287 阅读 · 0 评论 -
C++提高编程(一)—— 模板(下)
1. 模板的概念2. 函数模板3. 类模板3.1 类模板语法3.2 类模板与函数模板区别3.3 类模板中成员函数创建时机3.4 类模板对象做函数参数3.5 类模板与继承3.6 类模板成员函数类外实现3.7 类模板分文件编写3.8 类模板与友元3.9 类模板案例 模板分为两个篇章。 1、2部分的内容见C++提高编程(一)—— 模板(上) 3部分的内容见C++提高编程(一)—— 模板(下)1. 模板的概念2. 函数模板 模板的概念和函数模板部分的详细内容见C++提高编程(一)—— .原创 2021-04-09 18:02:57 · 3320 阅读 · 0 评论 -
C++提高编程(一)—— 模板(上)
1. 模板的概念2. 函数模板2.1 函数模板语法2.2 函数模板注意事项2.3 函数模板案例2.4 普通函数与函数模板的区别2.5 普通函数与函数模板的调用规则2.6 模板的局限性3. 类模板 模板分为两个篇章。 1、2部分的内容见C++提高编程(一)—— 模板(上) 3部分的内容见C++提高编程(一)—— 模板(下)1. 模板的概念 模板是泛型编程的基础,泛型编程即以一种独立于任何特定类型的方式编写代码。 模板是创建泛型类或函数的蓝图或公式。库容器,比如迭代器和算法,都是.原创 2021-04-09 18:02:39 · 3266 阅读 · 0 评论 -
C++核心编程(六)—— 案例:职工管理系统(下)
1. 管理系统需求2. 创建项目3. 创建管理类4. 菜单功能5. 退出功能6. 创建职工类7. 添加职工8. 文件交互 —— 写文件9. 文件交互 —— 读文件10. 显示职工11. 删除职工12. 修改职工13. 查找职工14. 排序15. 清空文件16. 附录:完整代码1. 职工管理系统.cpp2. WorkerManager.h3. WorkerManager.cpp4. worker.h5. employee.h6. employee.cpp7. manager.h8. manager.cpp8.原创 2021-04-08 11:25:22 · 3650 阅读 · 0 评论 -
C++核心编程(六)—— 案例:职工管理系统(中)
10. 显示职工10.1 显示职工函数声明10.2 显示职工函数实现10.3 测试显示职工11. 删除职工11.1 删除职工函数声明11.2 职工是否存在函数声明11.3 职工是否存在函数实现11.4 删除职工函数实现11.5 测试删除职工12. 修改职工12.1 修改职工函数声明12.2 修改职工函数实现12.3 测试修改职工13. 查找职工13.1 查找职工函数声明13.2 查找职工函数实现13.3 测试查找职工14. 排序14.1 排序函数声明14.2 排序函数实现14.3 测试排序功能15. 清空.原创 2021-04-07 23:08:23 · 4455 阅读 · 0 评论 -
C++核心编程(六)—— 案例:职工管理系统(上)
1. 管理系统需求2. 创建项目3. 创建管理类3.1 创建文件3.2 头文件实现3.3 源文件实现4. 菜单功能4.1 添加成员函数4.2 菜单功能实现4.3 测试菜单功能5. 退出功能5.1 提供功能接口5.2 实现退出功能5.3 测试功能6. 创建职工类6.1 创建职工抽象类6.2 创建普通员工类6.3 创建经理类6.4 创建老板类6.5 测试多态7. 添加职工7.1 功能分析7.2 功能实现7.3 测试添加8. 文件交互 —— 写文件8.1 设定文件路径8.2 成员函数声明8.3 保存文件功能实现.原创 2021-04-07 23:07:54 · 4917 阅读 · 0 评论 -
C++核心编程(五)—— 文件操作
1. 文件操作概述2. 文本文件2.1 写文件2.2读文件3. 二进制文件3.1 写文件3.2 读文件1. 文件操作概述 到目前为止,我们已经使用了iostream标准库,它提供了cin和cout方法分别用于从标准输入读取流和向标准输出写入流。当实现从文件读取流和向文件写入流时,就需要用到C++中另一个标准库fstream,它定义了三个新的数据类型:数据类型描述ofstream该数据类型表示输出文件流,用于创建文件并向文件写入信息。ifstream该数据类型表示输入文.原创 2021-04-06 15:17:39 · 3369 阅读 · 0 评论 -
C++核心编程(四)—— 类和对象(7) :多态
7. 多态7.1 多态的基本概念7.2 多态案例1 —— 计算器类7.3 纯虚函数和抽象类7.4 多态案例2 —— 制作饮品7.5 虚析构和纯虚析构7.6 多态案例3 —— 电脑组装7. 多态7.1 多态的基本概念 多态按字面的意思就是多种形态。当类之间存在层次结构,并且类之间是通过继承关联时,就会用到多态。C++多态意味着调用成员函数时,会根据调用函数的对象的类型来执行不同的函数。 多态是C++面向对象三大特性之一。多态分为两类:静态多态:函数重载和运算符重载属于静态多态,复用函数名;.原创 2021-04-05 22:35:03 · 3510 阅读 · 0 评论 -
C++核心编程(四)—— 类和对象(6) :继承
6. 继承6.1 继承的基本语法6.2 继承方式6.3 继承中的对象模型6.4 继承中构造和析构顺序6.5 继承同名成员处理方式6.6 继承同名静态成员处理方式6.7 多继承语法6.8 菱形继承6. 继承 面向对象程序设计中最重要的一个概念是继承。继承允许我们依据另一个类来定义一个类,这使得创建和维护一个应用程序变得更容易。这样做,也达到了重用代码功能和提高执行效率的效果。 当创建一个类时,我们不需要重新编写新的数据成员和成员函数,只需指定新建的类继承了一个已有的类的成员即可。这个已有的类称为基.原创 2021-04-05 12:27:45 · 3398 阅读 · 0 评论 -
C++核心编程(四)—— 类和对象(5) :运算符重载
5. 运算符重载5.1 加号运算符重载5.2 左移运算符重载5.3 递增运算符重载5.4 赋值运算符重载5.5 关系运算符重载5.6 函数调用运算符重载5. 运算符重载 运算符重载的概念:对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型。 重载的运算符是带有特殊名称的函数,函数名是由关键字operator 和其后要重载的运算符符号构成的。与其他函数一样,重载运算符有一个返回类型和一个参数列表。大多数的重载运算符可被定义为普通的非成员函数或者被定义为类成员函数。 可重载运算符.原创 2021-04-03 21:54:19 · 3359 阅读 · 0 评论