如何使用C ++中的非成员或自由函数重载减量运算符?
先决条件:运算符重载及其规则
在这里,我们将实现一个C++程序,该程序将演示使用非成员函数或自由成员函数进行运算符重载(递减)。
注意:这种类型的非成员函数将访问类的私有成员。因此,该功能必须为好友类型(好友功能)。
看程序:
using namespace std; #include <iostream> //示例类演示操作符重载 class Sample { //私有数据成员 private: int value; public: //参数化构造函数 Sample(int c) { value = c;} //运算符重载声明 //朋友功能 friend Sample operator--(Sample &S); //函数打印值 void printValue() { cout<<"Value is : "<<value<<endl; } }; //友元函数(运算符重载) Sample operator--(Sample &S) { --S.value; return S; } //主程序 int main(){ int i = 0; //对象声明, //这里参数化的构造函数将被称为 Sample S1(100); for(i=0;i<5;i++) { //运算符重载 --S1; S1.printValue(); } return 0; }
输出结果
Value is : 99 Value is : 98 Value is : 97 Value is : 96 Value is : 95