異種のオブジェクトを格納することを目的としたCollection
クラスがありますが、これらのクラスが共有する特定のメソッド名(例:ToString()
)を呼びたいと思います。で失敗MQLで未知のクラスのメソッドを呼び出す方法は?
class Collection {
public:
void *data[];
void Collection() {}
void ~Collection() {
for (int i = 0; i < ArraySize(data); i++) {
if (CheckPointer(data[i]) == POINTER_DYNAMIC) delete data[i];
}
}
void *Add(void *_object) {
uint _size = ArraySize(data);
ArrayResize(data, _size + 1, 100);
data[_size] = _object;
return _object;
}
string ToString(string _dlm = ",") {
string _out = "";
for (int i = 0; i < ArraySize(data); i++) {
if (CheckPointer(data[i]) == POINTER_DYNAMIC) {
_out += ((void *) data[i]).ToString(); // @fixme: Syntax error.
}
}
return _out;
}
};
しかし((void *) data[i]).ToString()
構文を使用して::ここで
'ToStringメソッド' - Collection.mqh
私は呼び出すことができますどのように
を定義されていないメンバ関数各格納されたオブジェクトのメソッドToString()
?