我有一个这样的课程:
class Foo {
public:
Foo();
private:
SomethingProxy proxy;
MyBar myBar;
};
在构造函数体(不是初始化列表)中,我想这样做:
Foo::Foo() {
myBar.initializeProxy(proxy);
}
目前的代码"工作"对我来说,但有保证吗?代码是否调用UB,还是有任何其他问题?
这些可能与问题无关,但这里有更多细节:
SomethingProxy
的默认构造函数将其正确初始化为所需的状态。SomethingProxy
和MyBar
作为Foo
的成员(与指针相对)是业务要求,因此initializeProxy()
为virtual
(或不是)与此无关。