Я написал перегрузку оператора == для класса, обрабатывающего очередь. В этом классе я использую шаблон, и первый элемент управления, который я хочу добавить, — это элемент управления типом шаблона.
это код
bool operator==(const Queue<T>& queue)
{
NodoCS<T>* NodoA = First;
NodoCS<T>* NodoB = coda.First;
if (this->DimQueue() != coda.DimQueue())
return false;
else
{
for (int i = 0; i < DimQueue(); i++)
{
if (NodoA->Element() != NodoB->Element())
return false;
NodoA = NodoA->NextAddress();
NodoB = NodoB->NextAddress();
}
return true;
}
}
Пример: у меня есть эти очереди:
Queue<int> queue1
и Queue<string> queue2
Очевидно, что они не равны, так как я могу контролировать, что int отличается от строки?
Я попытался написать параметр функции таким образом:
const Queue<T1>& queue
а потом if(T != T1)
....но это неправильно
U
в первом. 21.12.2013