Can I call another overloaded constructor in C++?
本问题已经有最佳答案,请猛点这里访问。
1 2 3 4 5 6 7 8 9 10 11 12 13 | class draw { draw(circle i) { // draw a circle; } draw(circle i, circle j) { draw(i); draw(j); } } |
即使使用模板,也可以调用C++中同一类的另一个重载构造函数吗?
不,在C++中,不能有一个构造函数直接调用另一个构造函数(至少不超过一次)。但是,可以让每个构造函数调用执行实际工作的第三个方法。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | class draw { draw(circle i) { do_draw(i); } draw(circle i, circle j) { do_draw(i); do_draw(j); } void do_draw(circle c) { // draw a circle; } } |