如何在mfc应用程序的其他方法中引用/使用构造函数初始化的变量
How to reference/use the variables initialized by the constructor in other methods in a mfc application
所以,就像标题所说的那样,我似乎无法在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;
};
相关文章:
- 没有用于初始化C++中的变量模板的匹配构造函数
- 使用仅使用一次的变量调用的复制构造函数.这可能是通过调用move构造函数进行编译器优化的情况吗
- 在类构造函数中使用结构变量
- 在 c++ 中将变量作为结构构造函数中的引用传递
- 在类构造函数中定义结构变量的参数
- 修改程序的入口点时未调用全局变量的构造函数
- C++:将向量传递到构造函数以创建成员变量的最佳方法?
- 为什么从另一个构造函数内部调用C++构造函数不修改类变量?
- 在 C++ 中声明 const 对象需要用户定义的默认构造函数.如果我有一个可变成员变量,为什么不呢?
- 构造函数干扰成员变量指定的初始值设定项?
- 类中的数组变量C++导致"was not declared in this scope"实现文件的一个函数中错误,但在构造函数中不会导致错误
- 通过 C++ 中的重载构造函数初始化未知类型的变量
- 如何在初始化列表中的构造函数之后初始化变量/对象?
- 我可以使用在类构造函数中初始化的流类型的成员变量吗?
- 为什么 std::move 不将默认移动构造函数中的源变量更改为默认值?
- C++为具有引用成员变量的类创建复制构造函数
- 如何在全局变量的构造函数之前运行函数
- C++/Win32 构造函数不使用从对话框获取的字符串初始化变量
- 将内置类型变量传递给只有一个类类型参数的"+"运算符函数时自动类型转换的构造函数
- std::线程构造函数(变量的数量)