【发布时间】:2020-08-15 08:46:08
【问题描述】:
我有构造函数
class MyFrame : public wxFrame { // defines the options on the top bar of the screen here we have:
public:
MyFrame();
private:
void OnHello(wxCommandEvent& event); // hello option
void OnExit(wxCommandEvent& event); // exit option
void OnAbout(wxCommandEvent& event); // about option
void OnHelp(wxCommandEvent& event); // event option
// void OnCourseTextBoxClicked(wxCommandEvent &event);
void OnOneHundredLevelDisplayGpButtonClicked(wxCommandEvent &event);
void OnTwoHundredLevelDisplayGpButtonClicked(wxCommandEvent &event);
void OnThreeHundredLevelDisplayGpButtonClicked(wxCommandEvent &event);
void OnFourHundredLevelDisplayGpButtonClicked(wxCommandEvent &event);
void OnFiveHundredLevelDisplayGpButtonClicked(wxCommandEvent &event);
void OnDisplayCgpaButtonClicked(wxCommandEvent &event);
// Common Courses equating their credit load
/* 100 LEVEL FIRST SEMESTER */
int CHM111 = 3;
int CHM113 = 3;
int MTH111 = 3;
int MTH112 = 3;
int PHY111 = 3;
int PHY113 = 3;
int GST111 = 2;
int GST112 = 2;
/* 100 LEVEL SECOND SEMESTER */
int CHM122 = 3;
int CHM124 = 3;
int MTH123 = 3;
int MTH125 = 3;
int PHY109 = 2;
int PHY124 = 4;
int GST121 = 2;
int GST122 = 2;
int GST123 = 2;
int LEVEL_TOTAL_100 = 47;
}
在代码库的其他地方,一些文本被输入到文本框中。文本框应该包含构造函数中定义的变量之一,这些变量的计算结果是它们各自的整数。
当文本框的内容被评估时,例如:
course_one_text_box->GetValue();
评估
CHM111
我想获取CHM111 的构造函数整数值,即3。我想在数学公式中使用这个值。
我该怎么做? 是否有一种特定的语法可以获取构造函数记录的变量版本? 谢谢。
【问题讨论】:
-
不,没有。 C++ 不能以这种方式工作。您必须为所有其他人写出一堆
if语句,例如if (value == "CHM111") then return CHM111;等等。这是 C++ 工作的唯一方式,就像那样。否则,请使用std::map,以变量名作为键,然后简单地使用return values[value];,对所有这些变量。
标签: c++ c++11 constructor wxwidgets