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

溫馨提示×

C++中成員函數和友元函數如何使用

c++
小億
115
2023-08-01 12:30:18
欄目: 編程語言

C++ 中成員函數和友元函數的使用方式如下:

成員函數:

  1. 成員函數是定義在類的內部的函數,它可以直接訪問類中的成員變量和其他成員函數。

  2. 成員函數可以在類的外部通過對象來調用,格式為:對象名.成員函數名()。

  3. 成員函數可以定義在類的聲明中,也可以在類的定義外部進行定義。

  4. 成員函數可以被重載,即可以在同一個類中定義多個同名的成員函數,但它們的參數列表必須不同。

友元函數:

  1. 友元函數是在類的外部進行定義的函數,它可以訪問類的私有成員。

  2. 友元函數的聲明需要在類的聲明中進行,可以在類的內部進行定義,也可以在類的外部進行定義。

  3. 友元函數的調用方式和普通函數一樣,直接使用函數名進行調用。

  4. 友元函數不是類的成員函數,所以它沒有this指針,不能直接訪問類的成員變量和成員函數,需要通過對象來訪問。

下面是一個示例代碼,展示了成員函數和友元函數的使用:

#include <iostream>
using namespace std;
class MyClass {
private:
int privateVar;
public:
MyClass(int var) {
privateVar = var;
}
void memberFunc() {
cout << "This is a member function." << endl;
cout << "Private variable: " << privateVar << endl;
}
friend void friendFunc(MyClass obj); // 友元函數的聲明
void setPrivateVar(int var) {
privateVar = var;
}
};
void friendFunc(MyClass obj) {
cout << "This is a friend function." << endl;
cout << "Private variable: " << obj.privateVar << endl;
obj.setPrivateVar(10);
cout << "Private variable after modification: " << obj.privateVar << endl;
}
int main() {
MyClass obj(5);
obj.memberFunc(); // 調用成員函數
friendFunc(obj); // 調用友元函數
obj.memberFunc(); // 成員函數中私有變量已被友元函數修改
return 0;
}

輸出結果:

This is a member function.
Private variable: 5
This is a friend function.
Private variable: 5
Private variable after modification: 10
This is a member function.
Private variable: 10

0
葫芦岛市| 蒲城县| 凉山| 大悟县| 庆元县| 昔阳县| 讷河市| 沿河| 汨罗市| 吉水县| 墨竹工卡县| 石棉县| 洪湖市| 余庆县| 台北县| 东山县| 南召县| 玉溪市| 耿马| 张北县| 宿迁市| 大邑县| 运城市| 沙河市| 曲麻莱县| 旺苍县| 大邑县| 凤庆县| 商水县| 莆田市| 五寨县| 万州区| 怀远县| 台北县| 湘潭市| 建水县| 温泉县| 古丈县| 务川| 高州市| 新竹市|