本文主要是介绍线程里面访问类的私有成员变量flag,不报错,诧异,求解!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
// testflag11.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include "windows.h"
#include "process.h"
class ExampleTask
{
public:
ExampleTask(void)
{
flag=true;
}
static void taskmain(LPVOID param);
void StartTask();
void SetValue(bool flag_1)
{
flag=flag_1;
};
private:
bool flag;
};
void ExampleTask ::taskmain(LPVOID param)
{
ExampleTask *pTaskMain = (ExampleTask *) param; //通过pTaskMain指针引用
while (pTaskMain->flag)
{
printf("hello world\n");
Sleep(200);
}
printf("thread exit\n");
return;
}
void ExampleTask::StartTask()
{
_beginthread(taskmain,0,this);
}
int main(int argc, char* argv[])
{
ExampleTask realTimeTask;
realTimeTask.StartTask();
Sleep(3000);
realTimeTask.SetValue(false);
Sleep(1000);
return 0;
}
测试结果:
同一个类里面可以访问私有成员!
这篇关于线程里面访问类的私有成员变量flag,不报错,诧异,求解!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!