Write container class objects with overloaded operators

Assignment Help Computer Engineering
Reference no: EM131452686

Assignment

Aim:

This assignment is to familiarise you with the use of container classes in your programs.

On completion you should know how to:
- Write container class objects with overloaded operators.
- Implement programs incrementally to minimise debugging.
- Custom design container class objects for software applications.

Requirements:
Complete the following class object by writing the code needed in the provided files. Much of this is explained in the week-4 lecture notes "4b C++ Classes - book.pdf". After completing each step, test that your code works by writing appropriate code in main.cpp.

Step 1

Implement all public member functions of the linked list class declared below in files list.h and list.cpp. Note: RemoveHead() returns true if an item is successfully removed from the list or false if unsuccessful (i.e. the list is empty). Also, implement the main() function given below in main.cpp. Modify the main() function by inserting code for testing all the list's member functions. Your main() should print on the screen the test being performed and produce output showing that the test case works. (e.g. "Testing AddTail()", Testing RemoveHead()", "Testing destructor")

struct Node
{
int Item; Node *Next;
};

class LinkedList
{
public:
LinkedList();
~LinkedList();
void AddTail(int Item); // adds item to tail bool RemoveHead(int &Item);// removes item from head
void Print(); // prints list. eg 12 34 21 26 private:
Node *Head;
};

int main()
{
LinkedList L1 . . .

// Put your code for testing your list functions here

return 0;
}

Step 2

Also implement AddHead() and RemoveTail() public member functions. AddHead() adds an item to the head of the list. RemoveTail() removes an item from the tail of the list and returs true if successful, or false if the list is empty. Modify the main() function by adding code for testing these functions. Make sure you print on the screen the test being performed and produce output that shows that the tests worked.

Step 3

In your linked list class, also implement a copy constructor that makes a deep copy of the list argument. Add code for testing the copy constructor on empty and non-empty lists. Make sure you print on the screen the test being performed and produce output that shows that the tests worked.

Step 4

AssignmentImplement an assignment operator in your LinkedList class. The assignment operator should ensure multiple assignments are possible. eg the following statements should make A and B identical to C.

List A, B, C;
for(int i=0; i<10; i++) C.AddHead(i);
A = B = C;

Ensure there are no memory leaks and all lists have their own separate memory. You should not assume the left-hand operand is always empty. Add code in the main for testing the assignment operator on both empty and non-empty lists.

Step 5

Implement the addition operator (+) in your LinkedList class. Your assignment operator should enable a concatenated list to be assigned to another list. E.g.

LinkedList L1,L2,L3;

... // code for adding data to lists

L3 = L1 + L2; // makes L3 a concatenated list of L1 and L2

Add code to the main() for testing the plus operator on both empty and non-empty lists.

Attachment:- Assignment-CPP.zip

Reference no: EM131452686

Questions Cloud

Chemicals are harmful to the environment : It has been shown that some chemicals are harmful to the environment. Many of these chemicals can enhance production of crops that are needed to feed hungry.
What conclusions can be drawn based on the results : What data would you collect and how would you collect the data to help answer this question? What conclusions can be drawn based on the results?
Personal review of the documentary : Write a 3-page or so (approx. 750 word) personal review of the documentary: Niall Ferguson Civilization: The West and the Rest 2011 BBC series.
Explain the governing boards role in strategic initiatives : Explain the governing board's role in these strategic initiatives, determining its responsibility and involvement.
Write container class objects with overloaded operators : CSCI251/851 Advanced Programming- Write container class objects with overloaded operators and Implement programs incrementally to minimise debugging.
Limitations of wind power : What do you see, if any, as the limitations of wind power. What do you believe could be an alternative for coal power.
Calculate the future short-term expected interest rates : Calculate the future short-term expected interest rates.
Standard deviation of winning percentages to four : The ratio of the actual standard deviation to the ideal standard deviation for a league is 1.43 and the ideal standard deviation is 0.056.
Three-tiered structure of the federal court system : Explain the three-tiered structure of the Federal Court System and compare it to the three-tiered structure of the California Court system?

Reviews

len1452686

4/6/2017 4:48:32 AM

I have Three assignments , two of Advanced programming and another of database management. Instructions are given inside the pdf files. Please reply as soon as possible. Don't have much time. Last date and every info is given inside file . Please share the Quote for the 3 Assignments separately. Deductions will be made for untidy work or for failing to comply with the submission instructions. Requests for alternative submission arrangements will only be considered before the due date. An extension of time for the assignment submission may be granted in certain circumstances. Any request for an extension of the submission deadline must be made to the Subject Coordinator before the submission deadline. Supporting documentation must accompany the request for any extension. Late assignment submissions without granted extension will be marked but the marks awarded will be reduced by 1 mark for each day late. Assignments will not be accepted if more than three days late

Write a Review

Computer Engineering Questions & Answers

  The main reasons for it project failures

Statistics show that most projects fail for some reason or other. What are the key reasons for IT project failures?

  Explain how the components of information technology system

Explain how the components of information technology systems interrelate

  Questionfollowing narrative summarizes an interview with an

questionfollowing narrative summarizes an interview with an accounts clerk working for eyetunes club. members of club

  Define compensation structure and job design research

Assess value of the position using a job-based approach. The job based approach will assess the value that the specific position brings to the organization.

  Find the shortest path from a to z

Given the following network with noted distances, use DP to find the shortest path from A to Z.

  What is the end-to-end delay to send all packets in this

suppose that a message is segmented into 3000 packets with each packet being 1000 bytes. suppose there is exactly one

  Generating a class known as point

Generate a class known as Point which has following private members: Float x - x-coordinate of point,,Float y - y-coordinate of point.

  Create a gui front end for bubble sort

This is what I want to achieve. I have an array of positive integers that I wish to sort according to the sequence represented by the integer number line

  Your companys lan needs to be updated there are 30

your companys lan needs to be updated. there are 30 workstations 8 laptops and several peripherals such as printers.

  Sequence of actual mips instructions

use a sequence of actual MIPS instructions to implement the similar behavior.

  Question regarding the white rabbit

A magician has a hat that holds two rabbits. One rabbit is black and the other is white. In his last 16 performances he has randomly pulled the black rabbit from the hat 16 times. The probability that he will pull the white rabbit from the hat in ..

  Questionmatlab user defined function bedford fowlerwrite

questionmatlab user defined function bedford fowlerwrite down a user-defined function that plots an ellipse with axes

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd