mfc用string要包含头文件

mfc用string要包含头文件,第1张

1.#include<string> C++标搜戚准库(STL)中的类型,它是定义的一个字符串类,定义在string头文件中。里面包含了对字符串的各种常用 *** 作。

2.#include<string.h>c标准库链扒提供的字符串 *** 作函数,如常用函数有strlen、strcmp、strcpy等等。

3.cstring 是属于MFC的类,如从对话框中利用GetWindowText得到的字符串棚漏昌就是CString类型,CString定义在afx.h头文件中。CString为Visual C++中最常用的字符串类,继承自CSimpleStringT类,主要应用在MFC和ATL编程中,所以使用CString时要包含afx.h文件。

MFC中,GetParent()是窗口类函数,必须由窗口对象或窗口指针调用。

在MFC框架中,默认包含了使用该函数的头文件,不需要誉缺孙单独包含庆链:

#include <扮派afxwin.h>

假如有类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/tougao/12270779.html

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

发表评论

登录后才能评论

评论列表(0条)

保存