我有一个仅处理 Node 类型的对象的链表类(List)。假设它们具有正确重载的布尔比较,它可以对这些节点执行各种操作。问题是,我想将此 List 类与一种称为 Term 的特殊节点(具有系数和指数或度数的代数项)一起使用。我如何告诉我的 List 类使用 Term 函数(Term 具有特殊版本的 Print() 函数和比较运算符),即使它使用节点指针处理术语?例如,我的 Print() 类似于:
Node* walker=head;
while(walker)
{
walker->Print();
walker=walker->next;
}
除了没有 Node::Print() 之外,我希望它调用 Term::Print()!我是否必须创建一个全新的 List 类来处理 Term 类对象?