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.

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

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;
   }
}

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps with 1 images

Blurred answer
Knowledge Booster
Lists
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education