c++ - 当 A 类没有默认构造函数时,在 B 类中有一个 A 类
问题描述
我有一个 A 类,它是我想在 B 类中使用的库的一部分。如果 A 类没有默认构造函数,我如何将 A 类作为 B 类中的私有成员?B 需要用几个变量来初始化,如果可能的话,我想在其他地方初始化它。
class A
{
public:
A();
~A();
private:
B b;
};
解决方案
如果 A 类没有默认构造函数,我如何将 A 类作为 B 类中的私有成员
您只需在构造函数中调用它的构造函数
A::A()
: b( /* args go here */ ) ...
{
}
或者如果您不能提供默认参数,则将它们传递给
A::A( /* args for b */ )
: b( /* pass args for b through */ ) ...
{
}
推荐阅读
- sqlite - 从 pysqlite 中的 sqlite 访问点 cli 命令
- objective-c - Swift UIButton(内部框架)在ObjectiveC中不采取行动
- python-3.x - 使用 seaborn 在一个面板上绘制不同特征的分布图
- android - Android 9 在没有互联网的情况下断开 WiFi 连接
- c# - 如何使用 LIKE 和 %% 运算符在 Web 表单中查询和过滤我的数据?
- python - 如何修复“TypeError: %d format: a number is required, not NoneType”错误
- c# - 如何慢慢淡出/消失游戏对象?
- firebase - 更改 Firebase 的警报电子邮件地址
- iot - 无法检测到 Nodemcu 上按下的闪光灯按钮
- python - 如何使用 Python 将通过 Selenium Webdriver 打开的网页翻译成英文?