怎么将MyThread类内嵌到EX9_1类中
时间: 2023-11-27 18:51:16 浏览: 34
您可以将MyThread类定义为EX9_1类的嵌套类。嵌套类是定义在另一个类中的类,它可以访问外部类的私有成员并且不需要实例化外部类。
以下是一个示例代码:
```c++
#include <iostream>
#include <thread>
class EX9_1 {
public:
void run() {
// 创建并启动新线程
MyThread thread;
thread.start();
// 等待线程结束
thread.join();
}
private:
class MyThread {
public:
void start() {
std::cout << "Thread started." << std::endl;
// ...
}
void join() {
// ...
std::cout << "Thread joined." << std::endl;
}
private:
// MyThread 的其他成员变量和成员函数
};
};
int main() {
EX9_1 ex;
ex.run();
return 0;
}
```
在这个示例中,MyThread 类被定义为 EX9_1 类的私有嵌套类。在 EX9_1::run() 函数中,我们创建并启动了一个 MyThread 实例,然后等待它的结束。在 MyThread 类中,我们实现了 start() 和 join() 函数,并且可以访问 EX9_1 类的私有成员。
相关推荐
![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)