我想知道从构造函数调用函数是否是一个好的编程? 例如:
class Foo{
Foo(){
function1();
}
void function1(){
}
};
答案 0 :(得分:1)
如果你想要纯初始化函数,你可以在默认构造函数
中处理(在某些情况下)class C
{
C() { /* default init */ }
C(int a) : C() { /* do something extra with a */ }
C(const std::string& s) : C() { /* do something extra with s */ }
};
答案 1 :(得分:0)
这绝对是可以接受的。只要确保它不是虚函数。
编辑:
“虚拟”不是“纯虚拟”
答案 2 :(得分:0)
这是两部分答案。从技术角度来看,只要它不是虚拟功能,确定没问题。
从概念的角度来看,它取决于功能的作用。如果它只是初始化,那么你的构造函数应该是这样做的。如果它做得更多,并且作为一个目的之外的功能也从其他地方被调用,那么是的,它可能是一件好事。
答案 3 :(得分:-1)
只要它不是虚函数就可以接受。