j b*_*j b 2 c++ inheritance initialization initializer-list
我有两个类,其中一个是基类,包含指向派生类上的成员对象的指针.
像这样:
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;
}
Run Code Online (Sandbox Code Playgroud)
我的问题是:B.bar 保证在作为初始化参数传递给构造函数之前被分配A?
换句话说:如果我创建的一个实例B是B->foo保证是一个有效的指针的一个实例Bar?
基础子对象在成员对象之前构造.指针和对所有成员的引用都是有效的,但在构造之前不得访问实际对象.
| 归档时间: |
|
| 查看次数: |
514 次 |
| 最近记录: |