我是C ++的新手,所以我不确定如何做到这一点。基本上我有一些在PvUiSampleDlg.h中声明的CEdit类型的标识符。它们用于PvUiSampleDlg.cpp。
CEdit mIPEdit;
CEdit mMACEdit;
CEdit mManufacturerEdit;
CEdit mModelEdit;
CEdit mNameEdit;
我所做的是创建另一个名为SettingsDlg.cpp的类,我也想在这个类中使用相同的标识符。我该怎么做呢?我假设你必须在SettingsDlg.h中获取标识符,但我不知道如何做到这一点。我在SettingsDlg.cpp和SettingsDlg.h中都有#include PvUiSample.h。任何帮助将不胜感激。
答案 0 :(得分:0)
您好像正在寻找extern
关键字。
当您声明变量时,将extern
置于其前面。这使编译器/链接器知道这些变量将在此文件之外使用。
//PvUiSampleDlg.h
extern CEdit mIPEdit;
extern CEdit mMACEdit;
extern CEdit mManufacturerEdit;
extern CEdit mModelEdit;
extern CEdit mNameEdit;
确保只在一个地方初始化变量。
//PvUiSampleDlg.cpp
#include "PvUiSampleDlg.h"
CEdit mIPEdit(/* your constructor args*/); // You can initialize like this
...
void someFunc(){
return mIpEdit; // do something with your variable as you would normally
}
您可以如上所示初始化您的变量。确保包含包含extern变量的标题,否则初始化会将其视为普通的静态变量。
然后在包含标题的任何其他文件中,您可以按预期使用这些变量。