Nested Class (lớp lồng) là lớp khai báo bên trong lớp khác. Là biến thành viên của lớp bao ngoài, có cùng quyền truy cập. Tuy nhiên, hàm thành viên của lớp bao ngoài không có quyền truy cập đặc biệt vào thành viên lớp lồng.
Ví dụ
#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;
}
Kết quả
Nested classes in C++ The number is 9
Lớp A chứa lớp B lồng bên trong
class A {
public:
class B {
private:
int num;
public:
void getdata(int n) {
num = n;
}
void putdata() {
cout << "The number is " << num;
}
};
};
Hàm main()
cout << "Nested classes in C++" << endl;
A::B obj;
obj.getdata(9);
obj.putdata();
Tạo đối tượng B thông qua phạm vi A::B. Gọi getdata() và putdata().