扫描二维码下载沐宇APP

沐宇

微信扫码使用沐宇小程序

沐宇

濡備綍閫氳繃C++鎴愬憳鍑芥暟鎸囬拡璁块棶绉佹湁鎴愬憳

扬州沐宇科技
2024-06-20 00:50:04
c++

鍦?C++ 涓紝鍙互閫氳繃浣跨敤鎴愬憳鍑芥暟鎸囬拡鍜岀被鐨勫弸鍏冩潵璁块棶绉佹湁鎴愬憳銆備互涓嬫槸涓€涓畝鍗曠殑绀轰緥浠g爜锛?/p>

#include <iostream>

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

    int getPrivateMember() {
        return privateMember;
    }

    // 澹版槑涓哄弸鍏冨嚱鏁?/span>
    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锛岀敤浜庤闂鏈夋垚鍛樸€傞€氳繃杩欎袱绉嶆柟寮忥紝鎴戜滑鍙互鎴愬姛璁块棶骞惰緭鍑虹鏈夋垚鍛樼殑鍊笺€?/p>

扫码添加客服微信