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

溫馨提示×

c++成員函數指針怎么定義和使用

c++
小億
98
2023-07-13 10:16:57
欄目: 編程語言

在C++中,成員函數指針用于指向類的成員函數。定義和使用成員函數指針的步驟如下:

  1. 定義成員函數指針類型:成員函數指針類型的定義格式為:返回類型 (類名::*指針變量名)(參數列表)。其中,返回類型是成員函數的返回類型,類名是包含成員函數的類名,指針變量名是成員函數指針的名稱,參數列表是成員函數的參數列表。

  2. 初始化成員函數指針:成員函數指針可以通過成員函數的地址進行初始化,使用&類名::成員函數名的方式獲取成員函數的地址,并將其賦值給成員函數指針。

  3. 調用成員函數指針:成員函數指針可以通過以下兩種方式進行調用:

  • 使用指針變量和對象實例調用:使用指針變量和對象實例使用->*運算符來調用成員函數指針,語法格式為對象實例->*指針變量名

  • 使用指針變量和對象指針調用:使用指針變量和對象指針使用.*運算符來調用成員函數指針,語法格式為對象指針.*指針變量名

以下是一個示例代碼,演示了如何定義和使用成員函數指針:

#include <iostream>
class MyClass {
public:
void func(int x) {
std::cout << "func: " << x << std::endl;
}
};
int main() {
// 定義成員函數指針類型
typedef void (MyClass::*FuncPtr)(int);
// 初始化成員函數指針
FuncPtr ptr = &MyClass::func;
// 創建對象實例
MyClass obj;
// 調用成員函數指針
(obj.*ptr)(10);  // 使用對象實例調用
MyClass* pObj = &obj;
(pObj->*ptr)(20);  // 使用對象指針調用
return 0;
}

輸出結果為:

func: 10
func: 20

注意:成員函數指針只能指向非靜態成員函數,不能指向靜態成員函數。

0
广宗县| 云浮市| 开远市| 锡林郭勒盟| 永年县| 赫章县| 朝阳市| 天祝| 栾川县| 阿拉尔市| 乐昌市| 泸水县| 阿图什市| 三明市| 随州市| 合江县| 新和县| 焉耆| 嵊泗县| 常山县| 山西省| 丰原市| 荔波县| 双峰县| 盖州市| 淳化县| 大悟县| 岳普湖县| 澄迈县| 夏津县| 拜城县| 沈丘县| 吴忠市| 荥阳市| 琼结县| 淮北市| 峨眉山市| 法库县| 阳信县| 雷州市| 墨竹工卡县|