gpt4 book ai didi

c++ - 可以在基类初始化列表中传递成员对象吗?

转载 作者:太空狗 更新时间:2023-10-29 23:51:22 24 4
gpt4 key购买 nike

我有两个类,其中一个是包含指向派生类成员对象指针的基类。

像这样:

class Bar { };

class Foo : Bar { };

class A
{
public:
A(Foo *foo) { this->foo = foo };

private:
Foo *foo;
}

class B : public A
{
public:
B() : A(&bar) { };

private:
Bar bar;
}

我的问题是:是B.bar 保证在作为初始化参数传递给 A 的构造函数之前分配

换句话说:如果我创建一个 B 的实例是B->foo保证是指向 Bar 实例的有效指针?

最佳答案

基础子对象成员对象之前构造。对所有成员的指针和引用都是有效的,但在构造它们之前,您不得访问实际对象。

关于c++ - 可以在基类初始化列表中传递成员对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21637874/

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