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

溫馨提示×

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
平山县| 山东省| 澄迈县| 囊谦县| 黄骅市| 大安市| 阿荣旗| 靖边县| 泽普县| 遂宁市| 临颍县| 南开区| 炎陵县| 宁国市| 合水县| 舞钢市| 敦煌市| 青浦区| 宜城市| 基隆市| 徐州市| 汝南县| 得荣县| 图们市| 常熟市| 定襄县| 广昌县| 永福县| 宁远县| 攀枝花市| 固阳县| 尤溪县| 岳西县| 德保县| 罗山县| 壤塘县| 弋阳县| 瓦房店市| 商都县| 尉犁县| 广东省|