中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

如何通過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
南靖县| 石首市| 于都县| 深圳市| 砀山县| 阳春市| 长春市| 花莲县| 双柏县| 邵武市| 东城区| 英德市| 军事| 垦利县| 大关县| 铅山县| 望谟县| 永济市| 上栗县| 开阳县| 濉溪县| 长垣县| 潼关县| 含山县| 清远市| 双牌县| 泽普县| 肃宁县| 丽水市| 青浦区| 达拉特旗| 西乌珠穆沁旗| 资源县| 正镶白旗| 金川县| 咸丰县| 满洲里市| 乌苏市| 开封市| 随州市| 达孜县|