domyślne argumenty w konstruktorze
Czy mogę użyć domyślnych argumentów w takim konstruktorze
Soldier(int entyID, int hlth = 100, int exp = 10, string nme) : entityID(entyID = globalID++), health(hlth), experience(exp), name(nme = SelectRandomName(exp)) { }
Chcę na przykład domyślnie exp = 10, ale będę w stanie przesłonić tę wartość, jeśli podam ją w konstruktorze, w przeciwnym razie powinien użyć wartości domyślnej.
Jak mogę to zrobić, wiem, że moje podejście nie działa ...
Jeśli podam jakąkolwiek wartość na liście inicjalizacyjnej bez względu na to, co podaję w konstruktorze, to z drugiej strony zostanie nadpisany oczywiście, gdy podam wartość w konstruktorze, więc dlaczego potrzebuję wartości domyślnej na pierwszym miejscu, za każdym razem, gdy dostarczam wartość na inicjację obiektu ...?
Czy powinienem używać różnych przeciążonych konstruktorów, czy ludzie mają inne pomysły…?