91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
台东县| 乐亭县| 安阳市| 从江县| 广河县| 临夏县| 泰兴市| 澜沧| 沅江市| 宜兴市| 丹棱县| 延寿县| 冕宁县| 土默特右旗| 普兰县| 太原市| 青神县| 富源县| 镇坪县| 北宁市| 乾安县| 湖州市| 乌审旗| 元氏县| 论坛| 木兰县| 托里县| 扬中市| 滨州市| 抚顺市| 油尖旺区| 赤峰市| 青河县| 民和| 舒兰市| 汉川市| 海原县| 都安| 芒康县| 休宁县| 东港市|