2 csdnzengchihe CSDNzengchihe 于 2018.02.13 11:45 提问

MFC如何一个类调用在另一个类中的.cpp中定义的static成员变量

我在dlg2所属类中的.cpp中定义了static bool choose=true
我想在dlg1所属类中调用dlg2中的这个静态成员,应该怎么写?
void Cdlg1::OnButton1()
{
// TODO: Add your control notification handler code here

}

3个回答

qq_37503115
qq_37503115   2018.02.13 12:48
已采纳

参考一下这个

((CstudylistDlg*)GetParent())->m_List.GetItemCount();//CstudylistDlg是另一个文件中的类m.List是对象


注意开头#include一下头文件
ps:我是新手,我也是前几天刚遇到这个问题

qq_37503115
qq_37503115 回复CSDNzengchihe: 直接int的用过extern,static定义的静态量没试过。
3 个月之前 回复
qq_37503115
qq_37503115 回复CSDNzengchihe: 嗯,作为全局变量
3 个月之前 回复
CSDNzengchihe
CSDNzengchihe 回复qq_37503115: 我也解决出来了,我是在类1中的函数体任意位置定义这个变量,在类2中用extern声明就可以使用这个变量了
3 个月之前 回复
xuzhi1985
xuzhi1985   2018.02.13 14:01

Cdlg2::choose

qq_41563566
qq_41563566   2018.02.14 13:12

不建议直接这样直接访问类的内部成员,在多线程的时候会发生访问冲突。应该在类中增加相应数据的读写函数,并设置共享锁。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!