如何在开头具有相同公共代码的加号中胜任地组织2个不同的构造函数,其余代码是“自己的”
TextFrameBase(int size,int a , int b,int c) {
/*общий код*/
/*какой-то свой код для этого конструктора 1*/
}
TextFrameBase(int size) {
/*общий код*/
/*какой-то свой код для этого конструктора 2*/
}
如何在开头具有相同公共代码的加号中胜任地组织2个不同的构造函数,其余代码是“自己的”
TextFrameBase(int size,int a , int b,int c) {
/*общий код*/
/*какой-то свой код для этого конструктора 1*/
}
TextFrameBase(int size) {
/*общий код*/
/*какой-то свой код для этого конструктора 2*/
}
与往常一样,有三种基本方法。
将公共代码移动到单独的函数中。这里的一切都很明显。
使用委托构造函数。
将通用代码移至crtp祖先类/模板的代码
好吧,一如既往,如果标准方法没有帮助,那么您可以使用宏。最重要的是不要割伤自己。