对thread进行继承,这里overite thread的构造方法 

 Huathread():thread(){ //子类调用父类的方法

    };
    template<typename T, typename...Args> //子类调用父类的构造函数, 可变参数的构造
    Huathread(T && func, Args &&...args):thread(std::forward<T>(func),forward<Args>(args)...)
    {

    }

定义我们自己的方法

  void run(const char* cmd) //新增功能
    {
        system(cmd);
    }

完整代码

//
// Created by Administrator on 2021/6/27.
//
#include<thread>
#include<iostream>

using namespace std;

class Huathread : public thread{
public:
    Huathread():thread(){ //子类调用父类的方法

    };
    template<typename T, typename...Args> //子类调用父类的构造函数, 可变参数的构造
    Huathread(T && func, Args &&...args):thread(std::forward<T>(func),forward<Args>(args)...)
    {

    }

    void run(const char* cmd) //新增功能
    {
        system(cmd);
    }

};
int main()
{
    Huathread t1([](){
        cout << "hello this is huahua" << endl;
    });
    t1.run("calc");

    Huathread t2([](int num){
        cout << "hello this is huahua" << num << endl;
    }, 100);
    t1.run("notepad");
    cin.get();
}

 

posted on 2021-06-27 16:09  python我的最爱  阅读(1425)  评论(0编辑  收藏  举报