如何向MFC中添加头文件

如何向MFC中添加头文件,第1张

可以在对应的**Dlg.h的头文件的public:下加入对应的函数声明。

step1:

CMyLLKDlg.h

class CMyLLKDlg : public CDialog

{

// Construction

public:

CMyLLKDlg(CWnd* pParent = NULL) // standard constructor

void startGame()

step2:

MyCode.h

void CMyLLKDlg::startGame()

{

HWND gameh=::FindWindow(NULL,"QQ游戏 - 连连看角色版")

DWORD processID

GetWindowThreadProcessId(gameh,&processID)

HANDLE processH=OpenProcess(PROCESS_ALL_ACCESS,false,processID)

ReadProcessMemory(processH,(LPCVOID)0x00115CA0,&m_player1,1,NULL)

ReadProcessMemory(processH,(LPCVOID)0x00115CA4,&m_player2,1,NULL)

ReadProcessMemory(processH,(LPCVOID)0x00115CA8,&m_player3,1,NULL)

ReadProcessMemory(processH,(LPCVOID)0x0012E01C,&m_player4,1,NULL)

ReadProcessMemory(processH,(LPCVOID)0x00115CB0,&m_player5,1,NULL)

ReadProcessMemory(processH,(LPCVOID)0x00115CB4,&m_player6,1,NULL)

UpdateData(false)

}

都是头文件重复编译的问题

使用

#ifndef XXXXXXXXXXXX_H

#define XXXXXXXXXXXX_H

代码

#endif

假如有类A,类B两个类。如果想在B中调用A的成员函数,该怎么办呢?

方法一:

在类B的cpp文件中包含A类的头文件,然后在B的需要调用A的函数的函数中,添加

#include "A.h"

B::funcB()

{

A a

a.funcA()

}

由于类A的funcA不是静态(static)函数,所以在B中不能这样调用

#include "A.h"

B::funcB()

{

A::funcA()

}

会提示“illegal call of non-static member function”的错误。

方法二:

方法一是用的创建A的对象,然后由对象调用函数的方法。方法二是直接把类A的函数设置成静态函数,这样就不需要创建A类,而直接调用函数。方法是

在类A中把该函数加上static修饰,之后在B类的函数中

#include "A.h"

B::funcB()

{

A::funcA()

}

这样就可以直接调用函数了。

方法三:

用全局指针的方法。

在类B的cpp文件中包含A类,然后在所有类外部声明A* pA之后就可以在类B的函数中直接用pA->funcA()除此之外,其他类,比如说,类C想调用类A的函数,只需要在类C的cpp文件的外部声明 extern A* pA然后类C的成员函数也可以直接调用类A的函数了。

方法四:

看起来比较奇怪的一个设置全局变量的方法。比如说,想把B类设置成全局变量,可以在B类外声明一个全局变量g_pB,然后在构造完B类后,在B类的构造函数中令g_pB = this。这样全局就可以引用这个B类了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11800767.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存