阅读量:3
友元函数可以访问类的私有成员,所以可以使用友元函数来实现多数据之和。
假设有一个类A,它的私有成员变量有a、b、c,我们可以定义一个友元函数sum,来计算a、b、c的和:
class A { private: int a, b, c; public: A(int a, int b, int c) { this->a = a; this->b = b; this->c = c; } friend int sum(A obj); }; int sum(A obj) { return obj.a + obj.b + obj.c; } int main() { A obj(1, 2, 3); int result = sum(obj); cout << result << endl; // 输出6 return 0; }
在上面的示例中,sum函数被声明为类A的友元函数,可以直接访问类A的私有成员a、b、c,并计算它们的和。在main函数中,我们创建了一个类A的对象obj,并将其作为参数传递给sum函数,得到了a、b、c的和并输出结果6。