我正在使用堆栈,需要检查两个是否相同。我已经超载了
bool operator==
函数在我的代码中,现在我需要将逻辑放入代码中。我将检查几件事,看看这两个堆栈是否相同:长度、数据类型和每个元素的内容。长度和内容没有问题,它是给我问题的数据类型。
我试图做一个功能:
...
Type getType();
};
template <class Type>
Type getType(){ returnType;}
但这没有用。
我也想过:
bool operator== (stack<Type> &lhs, stack<Type> &rhs){
return (lsh.Type == rhs.Type);
//additional conditions will be checked.
}
如何检查它们是否是同一类型?
编辑:如果我只是检查了两个堆栈的顶部元素的数据类型怎么办?那就足够了吗?