如何解决是否可以将类成员变量作为不同类中的变量?
第一次来这里,到目前为止,我已经设法用谷歌解决了我的问题,但这次不是......
作为 Arduino 项目的一部分,我需要一个菜单对象(类成员)来显示(和编辑)从参数对象(不同的类成员)中获取的变量。目前我可以在菜单对象的初始化中使用参数对象变量并显示它。但是,如果我编辑菜单对象,它不会反映在参数对象中 - 我假设代码只是在初始化时将对象复制到内存中 - 是有道理的。我尝试过使用指针,但我缺乏理解,而且似乎发生了同样的事情。
这是一些简化的代码 - 请注意,目前我使用的是公共变量,为简单起见没有使用构造函数,这可能会改变
class Parameter {
public:
const char* plabel;
uint16_t value;
};
class SubMenu {
public:
const char* mlabel;
uint16_t valueShown;
};
Parameter parameter[] {
{"Para 1",123},{"Para 2",456}
};
Parameter *parameterP[] {parameter};
SubMenu mainMenu[] {
{"Menu item 1",parameterP[0]->value},{"Menu item 2",parameterP[1]->value}
};
void setup() {
// put your setup code here,to run once:
Serial.begin(9600);
Serial.println(mainMenu[0].valueShown);
mainMenu[0].valueShown++;
Serial.println(mainMenu[0].valueShown);
Serial.println(parameterP[0]->value);
}
void loop() {
// put your main code here,to run repeatedly:
}
你可以想象串行输出是:
123
124
123
如果有人可以帮助我使这段代码按预期工作(我猜是使用指针?),我将不胜感激。
谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。