如何在mfc应用程序的其他方法中引用/使用构造函数初始化的变量

How to reference/use the variables initialized by the constructor in other methods in a mfc application

本文关键字:构造函数 变量 初始化 引用 方法 mfc 应用程序 其他      更新时间:2024-05-10

所以,就像标题所说的那样,我似乎无法在mfc应用程序中使用构造函数中初始化的变量。

// CMFCApplication1View construction/destruction
CMFCApplication1View::CMFCApplication1View() noexcept
{
// TODO: add construction code here
int x1 = 0;
}

但当我在onDraw方法中使用这些变量时,它会给出未定义的错误

void CMFCApplication1View::OnDraw(CDC* pDC)
{   
CMFCApplication1Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc)
return;
pDC->Rectangle(20+x1, 30, 100+x1, 120);  //<- error here
}

编辑:
好的,所以我问这个问题的方式完全错误,我实际上想问的是如何在MFC应用程序(特别是CMFCApplication1View.cpp文件(中声明成员变量,我可以在同一类的其他成员函数中使用这些变量。

您可能有一个类似MFCApplication1View.h的文件。您的类将在该文件或类似名称的文件中声明。在头文件中找到类声明,并进行如下修改:

class CMFCApplication1View
{
// ... other stuff
int x1;
};

您甚至可以在头文件中初始化它,而不是在构造函数中初始化它(这是上面的替代,而不是添加(:

class CMFCApplication1View
{
// ... other stuff
int x1 = 0;
};
相关文章: