テンプレートを使用して独自の辞書を作成しています(STLの辞書は使用できません。使用しません)。
非常にシンプルな検索機能が欲しいのですが、ちょっとした問題があります。
template <typename TElement>
void Dictionary<TElement>::search(TElement ADT, int key) { // Abstract Data Type
inf flag = 0;
index = int (key % max);
temp[index] = root[index]; // root of the hash
while (temp[index]->next != NULL) {
if(temp[index]->data->key_actual_name == key) { @things happen }
}
}
私が理解したいこと:temp[index]->data-><template call>
それが理にかなっているなら私が持つことができるようにテンプレートを使用する方法
Class_type == TElementを使用して辞書を呼び出したいのですが、「key」は常にintですが、異なる場合もあります。IDまたは電話番号の可能性があります。問題は、キーの実際の名前(if(temp[index]->data->ID (or phone or what ever) == key
){@thingsoccur})を使用する必要があることです。ここでテンプレートを使用できると思いますが、方法がわかりません。
また、関連する可能性があります:
template <typename TElement>
typedef struct list{
TElement data;
struct list *next;
}node_type;
node_type *ptr[max], *root[max], *temp[max];
また、key_actual_nameのテンプレートを使用する場合、実装はどのように機能し、その関数をどのように呼び出すのでしょうか。