在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::
来访问外部类的成员变量和成员函数。