如何在C++中使用友元函数来重载自定义类型的加号运算符?请提供一个详细的示例代码。
时间: 2024-11-16 19:28:57 浏览: 9
在C++编程中,友元函数是一个非常实用的特性,它允许非成员函数访问类的私有和保护成员。特别是在实现运算符重载时,友元函数提供了一种灵活的方式来扩展类的运算符操作。通过使用友元函数,我们可以重载加号运算符以支持自定义类型的运算,这样可以按照直观的语法对这些类型进行加法操作。
参考资源链接:[C++运算符重载友元函数详解:从基础到实战](https://wenku.csdn.net/doc/842hct228r?spm=1055.2569.3001.10343)
为了提供一个具体的示例,假设我们有一个表示二维向量的类,我们希望重载加号运算符以支持两个二维向量的相加。以下是一个示例代码:
```cpp
#include <iostream>
class Vector2D {
private:
int x, y;
public:
Vector2D(int x, int y) : x(x), y(y) {}
// 声明友元函数以访问私有成员
friend Vector2D operator+(const Vector2D& lhs, const Vector2D& rhs);
void print() const {
std::cout <<
参考资源链接:[C++运算符重载友元函数详解:从基础到实战](https://wenku.csdn.net/doc/842hct228r?spm=1055.2569.3001.10343)
阅读全文