c++ - 更改对象属性
问题描述
我有一堂课
class Menu {
public:
vector<MenuItem> currentMenu;
void init();
void show();
void trigger();
};
和
class MenuItem {
private:
std::string text;
Menu link;
public:
MenuItem(Menu &menu, string &text);
string getText();
void onEnter();
};
在 MenuItem 构造函数中,我传递对 Menu 的引用并将其存储在 MenuItem 属性(菜单链接;)中。并且当尝试清除菜单属性(向量 currentMenu;)
void MenuItem::onEnter() {
this->link.currentMenu.clear();
}
没变化。如何更改菜单属性?
解决方案
MenuItem 中的 Menu 变量应该是 Menu& 类型。当前存储 Menu 对象时,它仅存储 Menu 的副本。
推荐阅读
- sql - 如果存在则删除表 Oracle、SQL Developer
- c++ - 什么是初始化的完整表达
- python - 使用 fit_generator 形状不匹配时出错 (Keras)
- java - 如何解决二维增长网格问题?
- html - 字体真棒图标未正确加载
- c++ - 引用 unordered_map 中的值是否安全
- python - 当互补角(例如 30 和 60)传递给 xy_plot1 和 xyplot2 函数时,两个射弹的图形无法正常工作
- javascript - JSON.parse & JSON.stringify
- python - 聚类像素以创建实体形状
- google-cloud-tpu - 无法创建 TPU 节点:RESOURCE_EXHAUSTED