溫馨提示×

c++中friend class的用法是什么

c++
小億
153
2024-03-28 16:58:02
欄目: 編程語言

在C++中,friend class用于聲明一個類為另一個類的友元類。這意味著友元類可以訪問包含它的類的私有成員和受保護成員。友元類可以訪問類的私有成員和受保護成員,但不是繼承關(guān)系,只是單純的友元關(guān)系。

友元類的聲明通常在類的定義中,在類的主體中使用friend關(guān)鍵字加上類名來聲明友元類。友元類可以訪問聲明為其友元的類的所有成員,而不管其訪問級別是私有、受保護還是公共。

下面是一個友元類的示例:

class A {
private:
    int x;
protected:
    int y;
public:
    A() : x(0), y(0) {}
    friend class B;
};

class B {
public:
    void accessA(A& a) {
        // B類可以訪問A類的私有成員和受保護成員
        a.x = 10;
        a.y = 20;
    }
};

int main() {
    A a;
    B b;
    b.accessA(a);
    return 0;
}

在上面的示例中,類B被聲明為類A的友元類,因此類B可以訪問類A的私有成員x和受保護成員y。

0