C++:我们应该从父类初始化类还是直接调用类
C++ : Should we init class from parent or call directly class?
[edited for C++]我不确定什么时候应该直接创建类或使用parent初始化。示例:
A类:B类
使用:
1)
A*A=新的A()
2)
B*a=新的a()
由于项目的要求,我不得不使用数字2。但我想知道什么对性能更好
如果数字2的性能不好,我会考虑使用带有更长代码的数字1:(
我认为这是一个很好的答案:
虚拟功能和性能-C++
Number 2利用多态性的力量。它使您能够实例化对象&将它们分配给超级类引用类型。
这样,如果您有从抽象类A
继承的第三个类C
,您可以执行以下操作:
class B : A
class C : A
A* bObj = new B();
A* cObj = new C();
有关性能比较,请查看此链接:C++
相关文章:
- 为什么 zlib 放气初始化调用一次不起作用?
- 我使用向量来创建类对象列表.初始化向量时如何使用参数调用构造函数?
- GLEW/GLUT:调用init并创建一个窗口后,取消初始化并重新初始化?
- 为什么初始化时没有调用重载赋值运算符?
- 在初始化列表之外手动调用基类的构造函数
- C++:带有大括号初始化列表的函数调用表达式 - 标准是否规定在单个元素列表的微不足道的情况下忽略大括号?
- 是否可以在编译时初始化对象的 C 样式函数指针,以便它调用对象的成员函数?
- 当我在libtorrent上调用dht_get_item时,警报显示该项目未初始化
- 未调用的初始化静态thread_local结构的构造函数和析构函数
- 使用迭代函数调用初始化std::vector
- 使用函数调用初始化静态全局数据(在编译时)
- 使用函数调用初始化字符串成员c++
- C++:哪个先被调用/初始化?类构造函数或其成员变量的构造函数
- 使用 init_seg 调用初始化函数
- 使用函数调用初始化枚举值
- 调用初始化列表构造函数的不同方式
- 如何(重新)调用初始化对象的构造函数
- 在c++中调用初始化列表中的函数
- 使用C与C++中的函数调用初始化全局变量
- Windows 外壳扩展未调用初始化