Как узнать, не был ли передан параметр при создании объекта? - PullRequest
4 голосов
/ 19 марта 2019

Я перевожу некоторый код, и на этом полностью неиспользуемом частном языке в коде говорится, что если было передано более 4 параметров (5-й параметр необязательный), то что-то сделать со значением этого параметра, напримеритак:

if (ParamCount > 4) {
    if (ID == 0) {
        ID = 0x700;
        if (mtrx > 0) {ID = 0x11AA0FF0; }
    }
    BaseID = ID;
} else {
    BaseID = ID;
}

Как бы написать это в C ++ 98?Я создал конструктор, который принимает эти параметры, поскольку я пытаюсь превратить этот бит кода в класс, но когда параметр является необязательным, вы должны установить для него значение, например 0, или так я думал.

1 Ответ

8 голосов
/ 19 марта 2019

Вместо этого перегрузите функцию.

Версия с 5 параметрами использует true часть if.

Другая версия использует false часть if.

...