#include <iostream>
class FooParent
{
public:
FooParent(int* new_p_bar)
{
p_bar = new_p_bar;
}
public:
int* p_bar;
};
class FooChild : public FooParent
{
public:
int bar;
public:
FooChild(int new_x)
:FooParent(&bar)
,bar(new_x) \\ point of concern
{}
};
int main()
{
FooChild foo(8);
std::cout << foo.bar << std::endl;
}
上面的示例按我的意愿工作。即将指针链接p_bar
到bar
. 但是,我担心的是我指向一个尚未调用其构造函数的成员。
这段代码是否有效,或者标准对此有什么要说的。如果不是还有什么选择。
注意:在我的应用程序bar
中是一个对象Bar
(不是int
),这有什么影响吗?