在C++中,內(nèi)部類可以在另一個類的內(nèi)部定義。內(nèi)部類可以訪問外部類的成員變量和成員函數(shù),而外部類也可以訪問內(nèi)部類的成員變量和成員函數(shù)。
內(nèi)部類的定義方式如下:
class OuterClass {
public:
class InnerClass {
public:
void innerFunction() {
// inner class function implementation
}
};
};
在外部類中實例化內(nèi)部類的方式如下:
OuterClass outerObj;
OuterClass::InnerClass innerObj;
調(diào)用內(nèi)部類的成員函數(shù)的方式如下:
innerObj.innerFunction();
需要注意的是,如果內(nèi)部類想要訪問外部類的成員變量或成員函數(shù),可以使用外部類的指針來訪問,如下所示:
class OuterClass {
public:
class InnerClass {
public:
void innerFunction() {
// access outer class member variable
cout << outerObj.outerVar << endl;
// access outer class member function
outerObj.outerFunction();
}
};
int outerVar;
void outerFunction() {
// outer class function implementation
}
InnerClass innerObj;
};
在內(nèi)部類中可以使用OuterClass::
來訪問外部類的成員變量和成員函數(shù)。