중첩 클래스는 다른 클래스에서 선언된 클래스입니다. 중첩된 클래스는 둘러싸는 클래스의 멤버 변수이기도 하며 다른 멤버와 동일한 액세스 권한을 갖습니다. 그러나 둘러싸는 클래스의 멤버 함수에는 중첩 클래스의 멤버에 대한 특별한 액세스 권한이 없습니다.
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의 객체가 정의되어 있습니다. 그런 다음 getdata() 및 putdata() 함수는 obj 변수를 사용하여 호출됩니다. 이것은 아래에 나와 있습니다.
cout<<"Nested classes in C++"<< endl; A :: B obj; obj.getdata(9); obj.putdata();