gpt4 book ai didi

c++ - 使用派生类实例化基类而不在对象定义中使用指针

转载 作者:行者123 更新时间:2023-11-30 02:16:42 24 4
gpt4 key购买 nike

关于 this question我看到所有的答案都是使用指向基类的指针(Base *baseObject),然后使用 new 关键字来实例化基类的不同实现。

假设是否有一个像这样的 Base 类:

class Base
{
public:
int Id;
}

和其他类似的类:

class A : public Base {...}
class B : public Base {...}

是否有条件地实例化基类对象但不使用指针,如下所示:

Base a;
if (...) a = new A();
else if (...) a = new B()

编辑:

根据评论,没有强制使用 new 关键字。

最佳答案

您可以使用引用而不是指针。

例如:

Derived d;
Base &b = d;

关于c++ - 使用派生类实例化基类而不在对象定义中使用指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54537006/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com