C++中的區域性類
在C++中,在函式內部宣告的類稱為區域性類,因為它只對該函式區域性可見,其作用域僅限於該函式。
語法
以下是區域性類的語法。
#include<iostream>
using namespace std;
void func() {
class LocalClass {
};
}
int main() {
return 0;
}
在上例語法中,func() 是一個函式,而類 LocalClass 在函式內部定義。因此,它被稱為區域性類。
區域性類名只能在其所屬的函式中使用,不能在函式外部使用。此外,區域性類的方法必須在其內部定義。區域性類不能有靜態資料成員,但可以有靜態函式。
示例
以下是一個演示C++中區域性類的程式。
#include<iostream>
using namespace std;
void func() {
class LocalClass {
private:
int num;
public:
void getdata( int n) {
num = n;
}
void putdata() {
cout<<"The number is "<<num;
}
};
LocalClass obj;
obj.getdata(7);
obj.putdata();
}
int main() {
cout<<"Demonstration of a local class"<<endl;
func();
return 0;
}
輸出
Demonstration of a local class The number is 7
解釋
- 在上例程式中,類 LocalClass 在函式 func() 中宣告,因此它是一個區域性類。
- 該類具有一個私有資料成員 (num) 和兩個公共成員函式 (getdata() 和 putdata())。
- 在 func() 內部,我們建立了一個名為 LocalClass 的物件,其中 getdata() 方法設定為 7,putdata() 方法顯示它。
- 在 main() 函式中,呼叫了 func() 函式。
C++中區域性類的用例
區域性類在函式作用域內宣告,這在下面討論的幾種場景中非常有用。- 區域性類非常適合封裝小型且臨時的功能,這些功能只需要在一個函式或方法中使用。
- 區域性類可用於為諸如 std::sort、std::find 或 std::for_each 之類的演算法定義自定義比較邏輯。
- 它也適用於事件驅動程式設計或回撥等場景,並且可以使用 STL 演算法實現自定義迭代邏輯。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP