如何将一个运算符重载为类的友元函数?
时间: 2023-06-06 22:08:30 浏览: 96
C++运算符重载函数作为类成员函数和友元函数.pdf
可以按照以下步骤将运算符重载为类的友元函数:
1. 在类定义中声明运算符函数为友元:friend ReturnType operator Operand(const ClassName& obj1, const ClassName& obj2);
2. 在类外定义运算符函数,并将其声明为友元函数:ReturnType operator Operand(const ClassName& obj1, const ClassName& obj2){/*function body*/}
3. 在运算符函数中访问两个对象的私有成员变量和方法。
例如,如果要将“+”运算符重载为类的友元函数,可以按照以下代码进行:
```
class ClassName{
int num1;
int num2;
public:
ClassName(int n1, int n2){
num1 = n1;
num2 = n2;
}
friend ClassName operator+(const ClassName& obj1, const ClassName& obj2);
};
ClassName operator+(const ClassName& obj1, const ClassName& obj2){
int sum1 = obj1.num1 + obj2.num1;
int sum2 = obj1.num2 + obj2.num2;
return ClassName(sum1, sum2);
}
int main(){
ClassName obj1(1,2);
ClassName obj2(3,4);
ClassName obj3 = obj1 + obj2;
return 0;
}
```
阅读全文