我可以使用默认参数的构造函数这样也许默认参数
Soldier(int entyID, int hlth = 100, int exp = 10, string nme) : entityID(entyID = globalID++), health(hlth), experience(exp), name(nme = SelectRandomName(exp)) { }
我想例如EXP = 10默认,但能够覆盖这个值,如果我在构造函数中提供它否则它应该使用默认值。
我怎么能做到这一点,我知道我的方法是行不通的....
如果我提供的初始化列表,无论什么我在构造函数中提供大干快上。另一方面ofcourse覆盖的任何值,每当我在构造函数中提供一个值,那么为什么每当我为对象启动提供一个值时,我首先需要默认值...?
我应该使用不同的重载构造函数还是你有其他想法....?
是的,你应该使用重载的构造函数。 – 2009-10-27 23:14:22
您的构造函数定义不会编译,而您的文章似乎描述了运行时行为。这意味着你很可能发布了一个伪造的构造函数定义。请发布一个真实的。 – AnT 2009-10-27 23:51:50
如果你的构造函数可能只有一个参数被调用,它应该是“显式”的。 – 2009-10-28 07:35:19