C++学习笔记:用友员函数重载运算符
需积分: 44 164 浏览量
更新于2024-07-14
收藏 16.97MB PPT 举报
"这篇学习笔记主要讨论了C++中的用友员函数重载运算符,以`Complex`类为例,展示了如何实现复数加法和减法运算符的重载。此外,还提供了关于C++语言的概述,包括C++的创始人、语言特点以及其在行业中的地位和应用领域。"
在C++中,运算符重载是一种强大的工具,允许我们自定义运算符的行为以适应特定的数据类型。在这个例子中,`Complex`类表示复数,而`operator+`和`operator-`被重载以便对`Complex`对象执行加法和减法操作。重载运算符通常作为类的成员函数或友员函数来实现。在这个情况下,它们是友员函数,因为它们需要访问`Complex`类的私有或保护成员。
首先,我们看`operator+`的实现:
```cpp
Complex operator+(const Complex &aFir, const Complex &aSec)
{
return Complex(aFir.m_iReal+aSec.m_iReal, aFir.m_iImag+aSec.m_iImag);
}
```
这个函数接受两个`Complex`对象的引用,并返回一个新的`Complex`对象,其实部和虚部分别是输入对象实部和虚部的和。`m_iReal`和`m_iImag`是`Complex`类中存储复数实部和虚部的成员变量。
接着是`operator-`的实现:
```cpp
Complex operator-(const Complex &aFir, const Complex &aSec)
{
return Complex(aFir.m_iReal-aSec.m_iReal, aFir.m_iImag-aSec.m_iImag);
}
```
这个函数同样接受两个`Complex`对象的引用,但返回的新`Complex`对象的实部和虚部分别是输入对象对应部分的差。
课程描述中提到了C++的学习资源和课程结构,如《面向对象程序设计及C++》这本书,以及课程的性质、学时安排、考核方式和作业布置。C++课程被定位为高级技术课程,对于软件课程体系来说是必不可少的。课程考核包含选择题、填空题和编程题,作业通过在线平台moodle提交。
C++由比雅尼·斯特劳斯特鲁普博士在1979年开发,起初被称为"C with Class",最终演变为C++。1998年,C++有了ANSI/ISO标准。C++是一种多范式语言,支持面向对象、泛型编程和数据抽象,广泛应用于嵌入式、游戏编程、网络编程和系统编程等领域。
C++的发展经历了三个阶段,从最初支持面向对象特性,到加入泛型编程如STL和Boost库,再到引入产生式编程和模板元编程,如Loki和MPL库,持续不断地增强其功能和表达力。
C++在编程语言排名中一直占据重要位置,尤其在需要高性能、低级别控制的场景下,C++的地位不可替代。
2010-06-06 上传
2022-09-23 上传
2019-09-06 上传
2024-10-03 上传
2023-07-16 上传
2024-01-18 上传
2023-05-31 上传
2023-06-09 上传
2023-05-13 上传
双联装三吋炮的娇喘
- 粉丝: 15
- 资源: 2万+
最新资源
- JDK 17 Linux版本压缩包解压与安装指南
- C++/Qt飞行模拟器教员控制台系统源码发布
- TensorFlow深度学习实践:CNN在MNIST数据集上的应用
- 鸿蒙驱动HCIA资料整理-培训教材与开发者指南
- 凯撒Java版SaaS OA协同办公软件v2.0特性解析
- AutoCAD二次开发中文指南下载 - C#编程深入解析
- C语言冒泡排序算法实现详解
- Pointofix截屏:轻松实现高效截图体验
- Matlab实现SVM数据分类与预测教程
- 基于JSP+SQL的网站流量统计管理系统设计与实现
- C语言实现删除字符中重复项的方法与技巧
- e-sqlcipher.dll动态链接库的作用与应用
- 浙江工业大学自考网站开发与继续教育官网模板设计
- STM32 103C8T6 OLED 显示程序实现指南
- 高效压缩技术:删除重复字符压缩包
- JSP+SQL智能交通管理系统:违章处理与交通效率提升