C ++:我们应该从父级初始化类还是直接调用类?

时间:2015-12-12 13:13:32

标签: c++ class oop abstract

[为C ++编辑]我不确定何时应该直接创建类或使用parent来初始化。 示例:

A类:B类

使用:

1)
A * a =新A();

2)
B * a =新A();

由于项目的要求,我必须使用2号。但我想知道什么是更好的表现??? 如果数字2的性能不好,我会考虑使用数字1和更长的代码:(

我认为这是一个很好的答案:
Virtual functions and performance - C++

1 个答案:

答案 0 :(得分:2)

Number 2 利用多态的强大功能。它使您能够实例化对象&将它们分配给超类引用类型。

这样,如果你有一个继承自抽象类C的第三个类A,你可以这样做:

class B : A
class C : A

A* bObj = new B();
A* cObj = new C();

对于性能比较,请检查以下链接: C++