C++学习笔记:用友员函数重载运算符

需积分: 44 1 下载量 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++的地位不可替代。