【C++】friend class 用法

最後更新日期:2024年09月22日

friend class 用來讓被設定為 friend class 的 B class,可以存取 A class 的 private, protect 變數。

Table of Contents

範例

#include <iostream>

class B; // 向前宣告

class A {
    private:
        int privateValue;

    public:
    A(int value) : privateValue(value) {}

    friend class B; // 將類別 B 定義為 A 的朋友類別
};

class B {
    public:
    void showA(A &a) {
        // 可以訪問 A 的私有成員
        std::cout << "A's private value: " << a.privateValue << std::endl;
    }
};

int main() {
    A a(42);
    B b;
    b.showA(a); // 輸出:A's private value: 42
    return 0;
}

參考資料

  1. ChatGPT
  2. C++ Friend Class and Function
  3. Friend Class and Function in C++
Posted in C++