The*_*red 3 c++ constructor function member
我知道这是一个相当简单的问题,也取决于代码的其余部分,但我对经验法则更感兴趣.
那么在什么情况下在构造函数中调用函数是合适的呢?
什么是优选的:
ClassA obj1;
obj1.memFun();
Run Code Online (Sandbox Code Playgroud)
要么
ClassA obj1;
//where constructor of ClassA is
ClassA::ClassA(){ memFun(); }
Run Code Online (Sandbox Code Playgroud)
在构造函数中调用成员函数没有坏处.但是,请确保成员函数是非虚拟的,因为构造函数完成后会启动动态绑定机制.如果memFun是虚拟的并且在其子类中被覆盖,则调用memFun将绑定到ClassA::memFun