c++ - 我应该在构造函数中调用成员函数吗

标签 c++ function constructor member

我知道这是一个相当简单的问题,也取决于其余代码,但我对经验法则更感兴趣。

那么在什么情况下适合在构造函数中调用函数呢?

什么是优选的:

ClassA obj1;
obj1.memFun();

ClassA obj1;
//where constructor of ClassA is
ClassA::ClassA(){ memFun(); }

最佳答案

在构造函数中调用成员函数没有什么坏处。但是,请确保成员函数是非虚函数,因为动态绑定(bind)机制在构造函数完成后启动。如果 memFun 是虚拟的并在其子类中被覆盖,则调用 memFun 将绑定(bind)到 ClassA::memFun

关于c++ - 我应该在构造函数中调用成员函数吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26464122/

相关文章:

c++ - 为什么没有返回语句时没有任何编译器错误?

c - 在 C 中使用引用传递修改二维数组

c++ - 从函数 : by value VS by pointer 返回大对象

c++ - 更改一个类属性的数据类型会导致在构造子类对象期间出现段错误

c++ - Visual Studio 2015 添加类,错误 : "object already exists"

C++ 插件无法延迟加载 dll

c# - struct 有默认构造函数吗?

c++ - 继承并从基类中选择构造函数

c++在switch语句中声明一个变量

java,在大字符串输入的某个字符处计数的代码