一元运算符
针对一个参数操作的
如 : +、-、&、!、++、--等。
下面实例演示如何重载一元减运算符( - )类内实现, 一元逻辑运算符(!)类外实现
#include <iostream>
using namespace std;
class Number
{
public:
int val;
Number(int a)
{
val = a;
}
void Print()
{
cout << "val = " << val << endl;
}
//一元运算符 - 的重载类内
int operator - ()
{
val = -val;
return val;
}
};
//一元运算符 ! 的重载类外
int operator ! (Number &num)
{
num.val = !num.val;
return num.val;
}
int main()
{
Number num(3);
num.Print();
-num;
cout << "val取相反数后" << endl;
num.Print();
!num;
cout << "val取!后" << endl;
num.Print();
cin.get();
return 0;
}
程序运行结果:
对于其他的一元运算符,可以自行尝试,其中++,--运算符会在后续写出。