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

溫馨提示×

C++友元函數如何處理靜態成員

c++
小樊
82
2024-11-09 01:09:27
欄目: 編程語言

在C++中,友元函數(friend function)可以訪問類的私有(private)和保護(protected)成員。但是,對于靜態成員,友元函數的訪問權限與普通成員函數相同,因為靜態成員屬于類本身,而不是類的實例。

以下是一個示例,展示了如何在友元函數中處理靜態成員:

#include <iostream>

class MyClass {
public:
    static int staticMember;

    MyClass() {
        std::cout << "MyClass constructor called" << std::endl;
    }

    ~MyClass() {
        std::cout << "MyClass destructor called" << std::endl;
    }

    friend void accessStaticMember(MyClass &obj);
};

int MyClass::staticMember = 10;

void accessStaticMember(MyClass &obj) {
    std::cout << "Accessing static member: " << MyClass::staticMember << std::endl;
}

int main() {
    MyClass obj;
    accessStaticMember(obj);
    return 0;
}

在這個示例中,我們定義了一個名為MyClass的類,其中包含一個靜態成員staticMember。我們還定義了一個友元函數accessStaticMember,它可以訪問MyClass的靜態成員。

main函數中,我們創建了一個MyClass對象obj,然后調用accessStaticMember函數來訪問靜態成員。輸出結果如下:

MyClass constructor called
Accessing static member: 10
MyClass destructor called

這表明友元函數可以像普通成員函數一樣訪問靜態成員。

0
东台市| 凤城市| 甘孜县| 城步| 翁源县| 淄博市| 沙雅县| 朝阳县| 永川市| 长宁区| 浪卡子县| 贞丰县| 沈阳市| 新乡市| 扶绥县| 汉源县| 金溪县| 巴南区| 老河口市| 潮州市| 阳山县| 英吉沙县| 惠州市| 云阳县| 永春县| 澄城县| 南漳县| 富锦市| 清河县| 泸西县| 平舆县| 盐山县| 宁陵县| 高安市| 策勒县| 永安市| 什邡市| 威宁| 南京市| 靖安县| 金昌市|