如何知道创建对象时没有传入参数?

How to know if a parameter wasn't passed in when creating an object?

我正在翻译一些代码,在这种完全未使用的私有语言中,代码声明如果传入的参数超过 4 个(因为第 5 个参数是可选的),则对该参数的值执行一些操作,像这样:

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

我如何用 C++98 写出来?我创建了一个接受这些参数的构造函数,因为我试图将这段代码转换为 class,但是当参数是可选的时,您必须将其设置为一个值,例如 0,我认为是这样。

改为重载函数。

5个参数的版本使用了iftrue部分。

另一个版本使用 iffalse 部分。