C++中,在一个类中定义另一个类
时间: 2024-03-21 20:40:08 浏览: 38
在C++中,在一个类中定义另一个类,可以使用嵌套类(nested class)或内部类(inner class)的方式来实现。
1. 嵌套类
嵌套类是指在类的内部定义的另一个类,与外部类是相互独立的。嵌套类可以是公共的、私有的或受保护的。以下是一个示例:
```C++
class OuterClass {
public:
class InnerClass {
public:
void print() {
cout << "Hello from InnerClass!" << endl;
}
};
};
```
在这个示例中,OuterClass中定义了一个名为InnerClass的嵌套类。InnerClass中定义了一个名为print的成员函数。
2. 内部类
内部类是指在类的内部定义的另一个类,与外部类是有关联的。内部类可以访问外部类的成员变量和成员函数。以下是一个示例:
```C++
class OuterClass {
public:
class InnerClass {
public:
void print() {
cout << "Hello from InnerClass!" << endl;
cout << "x = " << x << endl;
}
};
int x;
};
```
在这个示例中,OuterClass中定义了一个名为InnerClass的内部类。InnerClass中定义了一个名为print的成员函数,可以访问外部类的成员变量x。