尝试将节点插入链表中,但我需要一个重载运算符<函数



我有一个主函数,它适用于链表和两个类:一个base(BankAcct)和一个派生的(CheckAcct)。我需要帮助编写重载运算符<函数。>

这是主要的一部分:

LinkedList<CheckAcct> list;
// Add acounts
vector<string> v = { "Bill Gates", "Melinda Gates" };   // vector with 2 owners
CheckAcct acct1(v, 5000, 1234);  // input args: owners, amount, acct number
// 1. add acct1 to the list:
list.insertNode(acct1);

这是链表文件中的插入函数:

template <class T>
class LinkedList
{
private:
struct ListNode
{
  T data ;
  struct ListNode * next;
};
ListNode *head;
public:
LinkedList() { head = nullptr; }
 ~LinkedList();
// Linked list operations
void insertNode(T);
bool deleteNode(T);
void displayList() const;
};
// insertNode: add a node in list order
template <class T>
void LinkedList<T>::insertNode(T newValue)
{
ListNode *newNode;
ListNode *pCur;
ListNode *pPre = NULL;
newNode = new ListNode;
newNode->data = newValue;
newNode->next = nullptr;
if (head == nullptr)
{
  head = newNode;
}
else
{
    pCur = head;
    pPre = nullptr;
    while (pCur != nullptr && pCur->data < newValue)
    {
        pPre = pCur;
        pCur = pCur->next;
    }
    if (pPre == nullptr)
    {
        head = newNode;
        newNode->next = pCur;
    }
    else
    {
        pPre->next = newNode;
        newNode->next = pCur;
    }
}
}

以下是运算符详细信息(包括"<"): 单击此处。

相关内容

  • 没有找到相关文章

最新更新