我有一个主函数,它适用于链表和两个类:一个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;
}
}
}
以下是运算符详细信息(包括"<"): 单击此处。