c++ - 继承的类的 Cpp 构造函数
问题描述
很长一段时间后,我一直在使用 cpp,但我遇到了一个奇怪的问题,我找不到解决办法。我有一个名为 base message 的类,有 2 种构造函数,一种默认为空,另一种接受 2 个参数:
BaseMessage();
BaseMessage(int msgId, const string name);
我现在正在尝试实现一个类的构造函数,该类是 BaseMessage 类的子类,如下所示:
CMicroControllerMainMsg::CMicroControllerMainMsg():BaseMessage(21,"s"), _data{ }
{
Encode();
}
其中 BaseMessage 获得一个 ID 和名称,_data 是一个结构,我在开始时用 0 初始化。现在问题来了,我的 IDE 不允许我使用 BaseMessage 的构造函数(告诉我它是一个未解析的符号),但是如果我使用默认的空构造函数,它确实允许我:
CMicroControllerMainMsg::CMicroControllerMainMsg():BaseMessage(), _data{ }
{
Encode();
}
所以我的问题如下:
- 为什么我不能使用带参数的构造函数?
- 我可以像下面的例子那样规避这个问题吗?
CMicroControllerMainMsg::CMicroControllerMainMsg(): _data{ }
{
BaseMessage(21,"s");
Encode();
}
解决方案
推荐阅读
- laravel-lighthouse - 同一输入字段上的两种类型 grapqhql 灯塔
- android - 在 LinearLayout 中将元素向右对齐
- google-sheets-formula - 谷歌表格子查询在哪里子句
- flutter - 在 Material App 之前访问时为 Null BuildContext
- vulkan - Vulkan 标准化值公式(例如 VK_FORMAT_R8_UNORM)?
- laravel - 无法获取 user_id 值 Laravel 查询
- hyperledger-fabric - 如何在节点 js sdk 中使用 qscc?
- android - XAMARIN - 是否可以在我的应用程序中使用默认/系统字体?
- python - Webscraping 将产品名称和相应的价格添加到 pandas 数据框
- maven - 为什么 Maven 版本插件不更新本地定义的属性?