溫馨提示×

C++友元函數支持全局函數嗎

c++
小樊
102
2024-11-09 00:58:26
欄目: 編程語言

在C++中,友元函數(friend function)是一種特殊的函數,它可以訪問類的私有(private)和保護(protected)成員。友元函數可以是全局函數,也可以是類的成員函數。但是,通常情況下,友元函數被用作全局函數,以便訪問多個類的私有和保護成員。

以下是一個使用全局友元函數的示例:

#include <iostream>
using namespace std;

class MyClass {
private:
    int myVar;

public:
    MyClass(int var) : myVar(var) {}

    // 聲明全局友元函數
    friend void printMyVar(const MyClass& obj);
};

// 定義全局友元函數
void printMyVar(const MyClass& obj) {
    cout << "myVar: " << obj.myVar << endl;
}

int main() {
    MyClass obj(10);
    printMyVar(obj); // 輸出:myVar: 10
    return 0;
}

在這個示例中,我們聲明了一個名為printMyVar的全局友元函數,它可以訪問MyClass類的私有成員myVar。在main函數中,我們創建了一個MyClass對象并調用了printMyVar函數來輸出myVar的值。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女