C++友元函數(shù)如何進(jìn)行多數(shù)據(jù)之和

c++
小億
103
2023-10-11 06:29:58

友元函數(shù)可以訪問(wèn)類的私有成員,所以可以使用友元函數(shù)來(lái)實(shí)現(xiàn)多數(shù)據(jù)之和。

假設(shè)有一個(gè)類A,它的私有成員變量有a、b、c,我們可以定義一個(gè)友元函數(shù)sum,來(lái)計(jì)算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函數(shù)被聲明為類A的友元函數(shù),可以直接訪問(wèn)類A的私有成員a、b、c,并計(jì)算它們的和。在main函數(shù)中,我們創(chuàng)建了一個(gè)類A的對(duì)象obj,并將其作為參數(shù)傳遞給sum函數(shù),得到了a、b、c的和并輸出結(jié)果6。

0