亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

如何通過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
屏山县| 安陆市| 通州区| 余干县| 涟源市| 朝阳县| 屏边| 汉川市| 平潭县| 东辽县| 宜兰市| 枣阳市| 吴忠市| 峡江县| 新田县| 四会市| 九寨沟县| 璧山县| 平山县| 灌云县| 江陵县| 彝良县| 拉萨市| 化德县| 西城区| 聂荣县| 岑溪市| 公主岭市| 泰顺县| 巴塘县| 桂林市| 马鞍山市| 宿州市| 承德市| 岗巴县| 政和县| 武夷山市| 玉屏| 新津县| 赣榆县| 东安县|