Class: MotoList.cpp (Implementation File) * // This class maintains a list of node objects. * //**************************************************** #include "MotoNode.h" #include "MotoList.h" #include using namespace std; //**************************************************** // Function: ~MotoList (Destructor) * // This function destroys the entire list.
C++ PLEASE
// Class: MotoList.cpp (Implementation File) *
// This class maintains a list of node objects. *
//****************************************************
#include "MotoNode.h"
#include "MotoList.h"
#include <iostream>
using namespace std;
//****************************************************
// Function: ~MotoList (Destructor) *
// This function destroys the entire list. *
//****************************************************
MotoList::~MotoList()
{
if (head) {
delete head;
head = nullptr;
tail = nullptr;
}
}
//****************************************************
// Function: operator= *
// This is an overloaded assignment function. It is *
// needed when the object had dynamic memory *
// allocated *
//****************************************************
MotoList& MotoList::operator=(MotoList& rhs){
MotoNode* currObj = rhs.head; // Copy List
if (head != rhs.head)
{
if (head){
delete head;
head = nullptr;
tail = nullptr;
}
while (currObj != nullptr) {
PushBack(new MotoNode(/*add your getters __________, ________,
__________, currObj->GetStyle(),
__________, ___________*/));
currObj = currObj->GetNext(); //Traversal Statement
} //Important to point to the next node
}
return *this;
}
//****************************************************
// Function: MotoList(MotoList& rhs) *
// This is an copy constructor function. It is *
// needed when the object had dynamic memory *
// allocated *
//****************************************************
MotoList::MotoList(MotoList& rhs){
MotoNode* currObj = rhs.head; // Copy List
while (currObj != nullptr) {
PushBack(new MotoNode(/*add your getters __________, ________,
__________, currObj->GetStyle(),
__________, ___________*/));
currObj = currObj->GetNext(); //Traversal Statement
} //Important to point to the next node
}
//****************************************************
// Function: PushBack *
// Takes the node passed in and adds it to the end *
// of the linked list. Accounts for an empty list. *
// NEEDED FOR TWO OF THE BIG THREE!!!! *
//****************************************************
void MotoList::PushBack(MotoNode* nuNode) {
if (!head) {
head = tail = nuNode;
}
else {
tail->SetNext(nuNode);
tail = nuNode;
}
}

Trending now
This is a popular solution!
Step by step
Solved in 2 steps with 1 images









