既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新
需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)
1)表达式结果是右值,不能对表达式结果再赋值
2)左右操作数既可以是左值也可以是右值
3)两种具体实现方式
–》成员函数形式(左调右参)
L#R的表达式可以被编译器处理为"L.operator#®"成员函数调用形式,该函数的返回就是表达式结果。
–》全局函数形式(左右都参)
L#R的表达式可以被编译器处理为"operator#(L,R)"全局函数调用形式,该函数的返回就是表达式结果。
注:通过friend关键字可以把一个全局函数声明为某个类的友元,对于友元函数可以访问类中的任何成员。
#include <iostream>
using namespace std;
//复数类
class Complex{
public:
Complex(int r,int i):m\_r(r),m\_i(i){
}
void print(void) const {
cout << m_r << '+' << m_i << 'i' << endl;
}
//重载+:成员函数形式
//c1+c2 ==> c1.operator+(c2)
//1)修饰返回值:禁止对表达式结果再赋值
//2)常引用参数:支持常量型右操作数
//3)常成员函数:支持常量型左操作数
const Complex operator+(const Complex& c)const{
Complex res(m_r+c.m_r,m_i+c.m_i);
return res;
}
private:
int m_r;//实部
int m_i;//虚部
//友元函数
friend const Complex operator-(
const Complex& l,const Complex& r);
};
//重载-:全局函数形式
//c2-c1 ==> operator-(c2,c1)
const Complex operator-(const Complex& l,const Complex& r){
Complex res(l.m_r-r.m_r,l.m_i-r.m_i);
return res;
}
int main(void){
const Complex c1(1,2);
const Complex c2(3,4);
c1.print();
c2.print();
//Complex c3 = c1.operator+(c2)
Complex c3 = c1 + c2;
c3.print();//4+6i
//Complex c4 = operator-(c2,c1)
Complex c4 = c2 - c1;
c4.print();//2+2i
return 0;
}
1.2 赋值类双目操作符: += -= …
1)表达式结果是左值,就是左操作数的自身
2)左操作数一定是左值,右操作数可以是左值也可以是右值
3)两种具体实现方式
–》成员函数形式(左调右参),L#R ==
> L.operator#®
–》全局函数形式(左右都参),L#R ==> operator#(L,R)
#include <iostream>
using namespace std;
class Complex{
public:
Complex(int r,int i):m\_r(r),m\_i(i){
}
void print(void) const {
cout << m_r << '+' << m_i << 'i' << endl;
}
//+=:成员函数形式
//c1+=c2 ==> c1.operator+=(c2)
Complex& operator+=(const Complex& c){
m_r += c.m_r;
m_i += c.m_i;
return \*this;
}
//-=:全局函数形式
//友元函数可以定义在类的内部,但本质还是全局函数
//c1-=c2 ==> operator-=(c1,c2)
friend Complex& operator-=(Complex& l,const Complex& r){
![img](https://img-blog.csdnimg.cn/img_convert/9f92b6a754a69b8fe2a0fd067008f890.png)
![img](https://img-blog.csdnimg.cn/img_convert/695a131345ab3f9752adeb770a16cec5.png)
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!**
**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新**
**需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)**
**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618679757)**
、讲解视频,并且后续会持续更新**
**需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)**
**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618679757)**