子类构造的正确顺序/位置
Proper order/place of subclass construction
在一些c++代码中,我有一个类,我们称之为masterClass,它包含几个类的成员,subClassA, subClassB,等等。
我应该在哪里创建子类?我应该先构造并初始化它们,然后再传递给masterClass吗?或者我应该在masterClass的构造函数中或在masterClass的初始化成员函数中构造和初始化它们吗?
一般来说,最好的方法是什么?
看来你的masterClass和subClass之间的关系是组合
我的建议是分别创建子类和masterClass。并将子类的实例视为masterClass的成员。就像你说的"先构造并初始化它们,然后传递给masterClass"一样。因为这是composition的正确用法。
class subClassA {
//...
};
class subClassB {
//...
};
class masterClass {
//...
private:
subClassA subA;
subClassB subB;
};
相关文章:
- CMake-按正确顺序将项目与C运行时对象文件链接
- 函数调用中参数的顺序重要吗
- 将值指定给向量(2D)的向量中的某个位置
- 为什么不;名字在地图上是按顺序排列的吗
- 将Integer转换为4字节的unsined字符矢量(按大端字节顺序)
- 使用Unreal C++获取VR耳机的世界位置/方向
- 写入位置0x0000000C时发生访问冲突
- 数到第n个楼梯的路(顺序无关紧要)
- 如何将两个不同矢量的同一位置的两个元素组合在一起
- 优先顺序:智能指针和类析构函数
- GL_SHADERSTORAGE_BUFFER位置是否与其他着色器位置冲突
- 在循环中按顺序遍历成员变量
- 独立读取-修改-写入顺序
- 标记为 std::memory_order_seq_cst 的单个原子操作是否会在所有位置触发顺序一致性?
- 反转字符串中单词的位置,而不更改 O(1) 空格限制中特殊字符的顺序
- 如何在默认和二维数组中找到顺序扩大元素的位置
- 对不同线程中同一位置的两次轻松写入是否总是以相同的顺序被其他线程看到
- 获取元素在boost::multi_index_container的顺序索引中的位置
- EM_EXGETSEL与文本选择顺序无关.如何确定一段选定文本中的插入符号位置
- 子类构造的正确顺序/位置