c++ 类中静态成员变量vector 初始化 创建线程传递this 指针的使用类成员

最近用mfc做了一个小东西,学到的一些东西。

使用静态成员变量:类中所有成员共享数据 

mfc  线程函数传this 参数   AfxBeginThread(ExportXml, this);

 

door.h

struct doorInfo
{
	string name;		//用户名
	string userid;		//用户id
	string passwd;		//密码
	int	index;
};

class door
{
public:
	door();
	~door();
	void setvalue(int &i);
	void print();

	void* m_sdkstatus ;
	CWinThread		 *	m_pThread;
public:
	static vector<doorInfo>m_data;

	static UINT ExportXml(LPVOID pParam);
private:
	static doorInfo vecorInit();
};

door.cpp



door::door()
{
	vecorInit();
	m_sdkstatus = NULL;
}


door::~door()
{

}

void door::setvalue(int &i)
{
	char buf[12] = { 0 };
		sprintf(buf, "%d", i+1);
		doorInfo temp;
		temp.index = i+1;
		temp.name = buf;
		temp.passwd = buf;
		temp.userid = i;
		m_data.push_back(temp);

		m_pThread = AfxBeginThread(ExportXml, this);
}

void door::print()
{
	for (vector<doorInfo>::iterator it = m_data.begin(); it != m_data.end(); it++)
	{
		printf("%s \n", it->name.c_str());
		//printf("%s  %s  %s  %s  %d\n",it->name.c_str(),it->passwd.c_str(),it->userid.c_str(),it->index);
	}
}

UINT door::ExportXml(LPVOID pParam)
{
	door * temp = new door;
	temp = (door *)pParam;
	doorInfo aaa;
	aaa.name = "aa";
	aaa.passwd = "aa";
	aaa.index = 12;
	temp->m_data.push_back(aaa);
	return 0;
}

doorInfo door::vecorInit()
{
	doorInfo temp;
	temp.index = 0;
	temp.name = "";
	temp.passwd = "";
	temp.userid = "";

	m_data.push_back(temp);
	return temp;
}
vector<doorInfo>door::m_data;
main.cpp


int main()
{
	door d;
	for (int i = 0; i < 10; i++)
	{
		d.setvalue(i);

	}
	d.print();
	getchar();
	return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值