C++在类中有类的实例
时间: 2024-06-12 16:03:28 浏览: 7
C++中的类可以包含其他类的实例作为其成员变量,这种特性称为嵌套类。嵌套类可以是公共的、私有的或受保护的,它们可以像普通成员变量一样被访问和操作。以下是一个示例代码:
```c++
class OuterClass {
private:
int x;
class InnerClass {
public:
void print(int y) {
cout << "InnerClass: " << y << endl;
}
};
public:
InnerClass inner;
void setX(int value) {
x = value;
}
int getX() {
return x;
}
};
int main() {
OuterClass obj;
obj.setX(10);
cout << "OuterClass: " << obj.getX() << endl;
obj.inner.print(20);
return 0;
}
```
在上述示例中,OuterClass包含一个私有成员变量x和一个公共成员变量inner,inner是InnerClass的实例。InnerClass是一个嵌套类,它包含一个公共方法print,用于输出一个整数。在main函数中,我们创建了OuterClass的一个对象obj,并设置了其私有变量x的值为10。然后,我们调用obj.inner.print(20),输出了20,这证明了我们可以使用OuterClass中的嵌套类InnerClass的实例。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)