我有两个类,其中一个是基类,包含指向派生类上的成员对象的指针。
像这样:
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
的构造函数之前 保证 p>
换句话说:如果我创建A
的实例是B
,保证是指向B->foo
实例的有效指针?
答案 0 :(得分:8)
在成员对象之前构建基础子对象。指针和对所有成员的引用都是有效的,但在构造之前不得访问实际对象。