原文:用静态成员函数调用非静态成员变量

今天写程序要用到一个计时器,然后需要创建一个新的线程,这个线程是CtestDLG的一个成员函数,必须定义为静态的.但是这个时候就不能去访问非静态成员变量了,这里找到一个很好的解决办法: 先上代码: .线程函数的定义: 我们可以看到这个是一个类的成员函数 .创建线程 这个是在一个消息函数中创建的.第四个参数传递的是一个this指针,指向当前的窗口类 这里很重要 .具体实现 这里我们可以看到,窗口句柄 ...

2013-07-27 16:12 0 5746 推荐指数:

查看详情

C++静态成员函数不能调用静态成员变量

其实我们从直观上可以很好的理解静态成员函数不能调用静态成员变量这句话因为无论是静态成员函数还是静态成员变量,它们 都是在类的范畴之类的,及在类的整个生存周期里始终只能存在一份。然而非静态成员变量静态成员函数是针对类的对象而言。 然而从本质上来说类的静态成员函数函数形参中没有默认 ...

Tue Jul 28 02:00:00 CST 2015 0 2453
静态成员变量静态成员函数

一、静态成员变量 类的静态成员变量是直接与类联系,属于类的成员而不是对象,供所有对象共享,存放于全局区,因而不计入类的内存计算。 静态成员变量可以通过类直接访问。 (1)静态成员变量的初始化 静态成员不属于类的任何对象,所以并不是对象建立时被定义的,所以它不能由类的构造函数初始化,一般 ...

Thu Jun 29 23:54:00 CST 2017 0 11443
[转]回调函数调用类中的静态成员变量静态成员函数

回调函数调用类中的静态成员变量静态成员函数 【问题】如何在类中封装回调函数?a.回调函数只能是全局的或是静态的;b.全局函数会破坏类的封装性,故不予采用;c.静态函数只能访问类的静态成员,不能访问类中非静态成员。 1. 如何让静态函数访问类的静态成员。  a.声明一静态函数 ...

Thu May 10 06:52:00 CST 2012 0 3710
关于C++静态成员函数访问静态成员变量的问题

静态成员函数不能访问静态成员,这是因为静态函数属于类而不是属于整个对象,静态函数中的 member可能都没有分配内存。静态成员函数没有隐含的this自变量。所以,它就无法访问自己类的静态成员 代码如下: class ...

Sat Sep 03 09:33:00 CST 2016 0 3302
静态成员函数

就是再成员函数 定义前加一个 static 我们需要了解它的访问方式以及访问权限,以及一些特点 有个博主总结的好 传送门;https://blog.csdn.net/qq_25800311/article/details/85146173 一、静态成员的特点: (1)static数据成员 ...

Wed Sep 25 22:17:00 CST 2019 0 631
静态成员函数静态成员函数的区别?

一个静态成员函数不与任何对象相联系,故不能对静态成员进行默认访问。 它们的根本区别在于静态成员函数没有this指针,而非静态成员函数有一个指向当前对象的指针this。 例如: 函数nsfn()可被认为它声明为void Sc::nsfn(Sc* this , int ...

Mon Aug 12 18:58:00 CST 2013 0 11213
C++静态成员函数访问静态成员的几种方法

大家都知道C++中类的成员函数默认都提供了this指针,在静态成员函数中当你调用函数的时候,编译器都会“自动”帮你把这个this指针加到函数形参里去。当然在C++灵活性下面,类还具备了静态成员静态函数,即 此时你的test函数只能去访问m_staticA成员,而不能去访问m_a ...

Wed Jan 21 19:23:00 CST 2015 4 39596
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM