c++学习记录(函数指针)

c++学习记录(函数指针)

ID:32657739

大小:118.84 KB

页数:11页

时间:2019-02-14

c++学习记录(函数指针)_第1页
c++学习记录(函数指针)_第2页
c++学习记录(函数指针)_第3页
c++学习记录(函数指针)_第4页
c++学习记录(函数指针)_第5页
资源描述:

《c++学习记录(函数指针)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、C++学习记录(函数指针)就像数组名是指向数组第一个元素的常指针一样,函数名也是指向函数的常指针。可以声明一个指向函数的指针变量,并且用这个指针来调用这个函数。这可能非常有用;它使你能编写一个根据用户输入来决定调用哪一个函数的程序。有关函数指针唯一的决窍是理解所指向的对象类型。一个指向整型的指针指向一个整型变量,一个指向函数的指针必须指向一个有正确返回类型和签名的函数。1.声明函数指针:void(*pfunc)();int(*pfunc)(intCount1,intCount2);两个*pfunc都是指向函数的

2、指针,第一个函数不带参数并返回空类型;第二个函数带有两个整型参数并返回一个整型变量。2.声明函数指针数组就像声明一个指向整型变量的指针数组一样,也可以声明一个指向返回特定值类型和只有特定签名的函数指针数组。void(*pfunc[5])(intCount1,intCount2);3.函数指针(函数指针数组)作为参数函数指针(函数指针数组)可以传递给别的函数(这些函数可能执行动作,然后用这个指针调用正确的函数)。voidOnDraw(void(*func)()){if(func)func0;}4.成员函数指针创建

3、成员函数指针,可以用与函数指针相同的语法,加上包含类名和作用域运算符(::)。void(tclass::*pfunc)(intCountl,intCount2);成员函数指针的用法和函数指针的用法一样,不同之处是成员函数指针需要一个正确的类对象來调用是针对它的函数。上机练习:学习实例编程:一个应用窗体框架基类程序(C++)-—文件名:TCWin.h/*TCwin.h(C卄)窗体框架棊类*/#ifndef_TCWIN_H_^define_TCWIN_H_ttincludc^defineTCW_M

4、SGstatic#definetcwmsgstaticttdcfinctcWinMainOWINAPIWinMain(HINSTANCEhlnstancc,HINSTANCEhPrcvlnstancc,LPSTRlpszCmdLine,intnCmdShow)^definetcMainOWIXAPIWinMain(HINSTANCEhlnstance,HINSTAXCEhPrevInstance,LPSTRlpszCmdLine,intnCmdShow)#definetMain()WINAPIWinMain(H

5、INSTANCEhInstance,HINSTANCEhPrevInstance,LPSTKIpszCmdLine,intnCmdShow)I////////////I//////////////////////////////////////////////////////////////////////////////////////////////////////////////TCMSGFUNC---struct//声明窗体消息接口函数//structTCMSGFUNC{intmfId;void(*ms

6、gfuncO)();void(*msgfuncl)(intCount);void(*msgfunc2)(intCountl,intCount2);void(*msgfunc3)(HINSTAXCEhlnstance,IIWXDhWnd,WPARAMwParam);};///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////T

7、CMSGstruct//声明窗体消息信息//structTCMSG{UINTmsg;UINTmid;TCMSGFUNCmsgfunc;};///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////TCMSGGetTCMsg(UINTmsg,UINTmid,intnifld,void(*funcO)(),void(*funcl)

8、(intCount),void(*func2)(intCountl,intCount2),void(*func3)(IIINSTANCEhInstance,HWNDhWnd,WPARAMwParam)){TCMSGtcmsg;ternsg.mld=mld;temsg・msg二msg;temsg・msgfunc・mfld=mfId;temsg・msgfunc.msgfuncO=funcO

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。