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

  Mathematics in computing

Binary search tree, and postorder and preorder traversal Determine the shortest path in Graph

  Ict governance

ICT is defined as the term of Information and communication technologies, it is diverse set of technical tools and resources used by the government agencies to communicate and produce, circulate, store, and manage all information.

  Implementation of memory management

Assignment covers the following eight topics and explore the implementation of memory management, processes and threads.

  Realize business and organizational data storage

Realize business and organizational data storage and fast access times are much more important than they have ever been. Compare and contrast magnetic tapes, magnetic disks, optical discs

  What is the protocol overhead

What are the advantages of using a compiled language over an interpreted one? Under what circumstances would you select to use an interpreted language?

  Implementation of memory management

Paper describes about memory management. How memory is used in executing programs and its critical support for applications.

  Define open and closed loop control systems

Define open and closed loop cotrol systems.Explain difference between time varying and time invariant control system wth suitable example.

  Prepare a proposal to deploy windows server

Prepare a proposal to deploy Windows Server onto an existing network based on the provided scenario.

  Security policy document project

Analyze security requirements and develop a security policy

  Write a procedure that produces independent stack objects

Write a procedure (make-stack) that produces independent stack objects, using a message-passing style, e.g.

  Define a suitable functional unit

Define a suitable functional unit for a comparative study between two different types of paint.

  Calculate yield to maturity and bond prices

Calculate yield to maturity (YTM) and bond prices

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