我在自己的通用链表实现方面遇到了问题.我正在研究的分配说两个子类NodeElementLong和NodeElementString必须从基类NodeElement下降.在NodeElement中应该有一个虚拟方法Print,后代类以自己的方式覆盖和实现.例如,当我在long类型的元素上调用Print方法时,必须调用NodeElementLong子类中的Print方法.
这是代码:
class LinearCollection<T>
{
NodeElement<T> head = null;
public bool Add(T element)
{
if (head == null)
{
head = new NodeElement<T>(element);
}
else
{
NodeElement<T> current = head;
while (current.nextNode != null)
{
current = current.nextNode;
}
current.nextNode = new NodeElement<T>(element);
}
return true;
}
public NodeElement<T> Get()
{
NodeElement<T> head1 = head;
head = head.nextNode;
return head1;
}
public void Print()
{
for (NodeElement<T> element = head; element != null; element = element.nextNode)
{
element.Print();
}
} …Run Code Online (Sandbox Code Playgroud)