C++ 中的巢狀類
巢狀類是在另一個類中宣告的類。巢狀類也是封閉類的成員變數,並具有與其他成員相同的訪問許可權。但是,封閉類的成員函式對巢狀類的成員沒有特殊訪問許可權。
以下程式演示了 C++ 中的巢狀類。
示例
#include<iostream>
using namespace std;
class A {
public:
class B {
private:
int num;
public:
void getdata(int n) {
num = n;
}
void putdata() {
cout<<"The number is "<<num;
}
};
};
int main() {
cout<<"Nested classes in C++"<< endl;
A :: B obj;
obj.getdata(9);
obj.putdata();
return 0;
}輸出
Nested classes in C++ The number is 9
在上面的程式中,類 B 在類 A 中定義,所以它是一個巢狀類。類 B 包含一個私有變數 num 和兩個公有函式 getdata() 和 putdata()。getdata() 函式接收資料,函式 putdata() 顯示資料。如下所示。
class A {
public:
class B {
private:
int num;
public:
void getdata(int n) {
num = n;
}
void putdata() {
cout<<"The number is "<<num;
}
};
};在函式 main() 中,定義了類 A 和類 B 的物件。然後使用變數 obj 呼叫函式 getdata() 和 putdata()。如下所示。
cout<<"Nested classes in C++"<< endl; A :: B obj; obj.getdata(9); obj.putdata();
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP