如何知道创建对象时没有传入参数?
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个参数的版本使用了if
的true
部分。
另一个版本使用 if
的 false
部分。
我正在翻译一些代码,在这种完全未使用的私有语言中,代码声明如果传入的参数超过 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个参数的版本使用了if
的true
部分。
另一个版本使用 if
的 false
部分。