在C++中,內部類可以在另一個類的內部定義。內部類可以訪問外部類的成員變量和成員函數,而外部類也可以訪問內部類的成員變量和成員函數。
內部類的定義方式如下:
class OuterClass {
public:
class InnerClass {
public:
void innerFunction() {
// inner class function implementation
}
};
};
在外部類中實例化內部類的方式如下:
OuterClass outerObj;
OuterClass::InnerClass innerObj;
調用內部類的成員函數的方式如下:
innerObj.innerFunction();
需要注意的是,如果內部類想要訪問外部類的成員變量或成員函數,可以使用外部類的指針來訪問,如下所示:
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;
};
在內部類中可以使用OuterClass::
來訪問外部類的成員變量和成員函數。