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

溫馨提示×

如何通過C++成員函數指針訪問私有成員

c++
小樊
84
2024-06-20 00:50:04
欄目: 編程語言

在 C++ 中,可以通過使用成員函數指針和類的友元來訪問私有成員。以下是一個簡單的示例代碼:

#include <iostream>

class MyClass {
private:
    int privateMember;
public:
    MyClass(int value) : privateMember(value) {}

    int getPrivateMember() {
        return privateMember;
    }

    // 聲明為友元函數
    friend int getPrivateMemberUsingPointer(MyClass* obj);
};

// 友元函數定義
int getPrivateMemberUsingPointer(MyClass* obj) {
    return obj->privateMember;
}

int main() {
    MyClass obj(42);

    // 使用成員函數指針訪問私有成員
    int (MyClass::*ptr)() = &MyClass::getPrivateMember;
    std::cout << "Private member value: " << (obj.*ptr)() << std::endl;

    // 使用友元函數訪問私有成員
    std::cout << "Private member value using friend function: " << getPrivateMemberUsingPointer(&obj) << std::endl;

    return 0;
}

在上面的示例中,我們聲明了一個友元函數 getPrivateMemberUsingPointer 來訪問私有成員 privateMember。同時,我們還定義了一個成員函數指針 ptr,用于訪問私有成員。通過這兩種方式,我們可以成功訪問并輸出私有成員的值。

0
吴桥县| 焉耆| 利川市| 浮梁县| 康定县| 武山县| 阳新县| 白玉县| 桐庐县| 云龙县| 类乌齐县| 竹溪县| 丹寨县| 乾安县| 嘉黎县| 罗平县| 凯里市| 玛纳斯县| 磴口县| 漳浦县| 山东省| 南京市| 建湖县| 邯郸市| 淳化县| 涿鹿县| 庆阳市| 古丈县| 信宜市| 外汇| 新邵县| 思南县| 拜泉县| 上蔡县| 沈阳市| 盈江县| 图木舒克市| 叶城县| 玉山县| 晋江市| 华蓥市|