C++运算符重载可以让一些类的操作更简便
不能重载的运算符:成员运算符“.”、指针运算符“*”、作用域运算符“::”、“sizeof”、条件运算符“?:”
运算符也是符号,符号即标签,C++可以重载标签,自然也可以重载符号,因语法原因,运算符不能直接使用需要operator修饰
关键字 Operator 重定义符号的功能
格式:
重载成类的成员函数
函数类型 operator 运算符(形参表)
{
函数体;
}
重载成类的友元函数
friend 函数类型 operator 运算符(形参表)
{
函数体;
}
重载成类的成员函数和友元函数区别
形参表不同
成员函数形参表不包含自身
友元函数行参表必须包含操作对象
符号类型与形参表关系
双目运算符
oprd1.operator B(oprd2) 函数输入一个形参操作类型对象2
单目运算符
左运算符
oprd.operator U()函数没有形参
右运算符
oprd.operator—(0)函数要带有一个整型形参