91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

C++友元類如何定義和使用

c++
小樊
87
2024-11-08 22:24:25
欄目: 編程語言

在C++中,友元類(friend class)是一種特殊的類關系,允許一個類訪問另一個類的私有(private)和保護(protected)成員。友元類不是被另一個類包含的類,而是與另一個類有相互訪問權限的類。

要定義一個友元類,需要在類聲明中使用friend關鍵字。這里有一個簡單的例子來說明如何定義和使用友元類:

#include <iostream>

// 聲明類A
class A {
public:
    A(int value) : value_(value) {}

    // 聲明類B為友元類
    friend class B;

    // 定義一個公有成員函數,用于輸出類A的成員變量
    void printValue() const {
        std::cout << "Value of A: " << value_ << std::endl;
    }

private:
    int value_;
};

// 聲明類B
class B {
public:
    B(int value) : value_(value) {}

    // 定義一個成員函數,用于訪問類A的私有成員變量
    void printAValue() const {
        std::cout << "Value of A: " << a_.value_ << std::endl;
    }

private:
    int value_;
    // 定義一個友元聲明,允許類B訪問類A的私有成員變量
    friend class A;
};

int main() {
    A a(10);
    B b(20);

    // 使用類A的成員函數輸出其私有成員變量
    a.printValue();

    // 使用類B的成員函數訪問類A的私有成員變量
    b.printAValue();

    return 0;
}

在這個例子中,我們有兩個類:AB。類A有一個私有成員變量value_,而類B有一個私有成員變量value_和一個成員函數printAValue()。我們在類A的聲明中使用friend class B;將類B聲明為友元類,這樣類B就可以訪問類A的私有成員變量value_。同樣,我們在類B的聲明中使用friend class A;將類A聲明為友元類,這樣類A就可以訪問類B的私有成員變量value_

main()函數中,我們創建了類A和類B的實例,并使用它們的成員函數分別輸出各自的私有成員變量。

0
合作市| 若羌县| 财经| 东海县| 邓州市| 秦安县| 乌兰县| 宽甸| 韩城市| 巩留县| 巫山县| 玉龙| 始兴县| 新民市| 田东县| 东乡族自治县| 阳西县| 育儿| 汝南县| 肇庆市| 马尔康县| 松江区| 余姚市| 章丘市| 德阳市| 金塔县| 康马县| 腾冲县| 理塘县| 德保县| 金乡县| 礼泉县| 赤壁市| 安泽县| 望谟县| 宁海县| 聂荣县| 穆棱市| 澎湖县| 永州市| 平安县|