Ask Computer Engineering Expert

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

Computer Engineering, Engineering

  • Category:- Computer Engineering
  • Reference No.:- M92261426
  • Price:- $100

Guranteed 48 Hours Delivery, In Price:- $100

Have any Question?


Related Questions in Computer Engineering

Does bmw have a guided missile corporate culture and

Does BMW have a guided missile corporate culture, and incubator corporate culture, a family corporate culture, or an Eiffel tower corporate culture?

Rebecca borrows 10000 at 18 compounded annually she pays

Rebecca borrows $10,000 at 18% compounded annually. She pays off the loan over a 5-year period with annual payments, starting at year 1. Each successive payment is $700 greater than the previous payment. (a) How much was ...

Jeff decides to start saving some money from this upcoming

Jeff decides to start saving some money from this upcoming month onwards. He decides to save only $500 at first, but each month he will increase the amount invested by $100. He will do it for 60 months (including the fir ...

Suppose you make 30 annual investments in a fund that pays

Suppose you make 30 annual investments in a fund that pays 6% compounded annually. If your first deposit is $7,500 and each successive deposit is 6% greater than the preceding deposit, how much will be in the fund immedi ...

Question -under what circumstances is it ethical if ever to

Question :- Under what circumstances is it ethical, if ever, to use consumer information in marketing research? Explain why you consider it ethical or unethical.

What are the differences between four types of economics

What are the differences between four types of economics evaluations and their differences with other two (budget impact analysis (BIA) and cost of illness (COI) studies)?

What type of economic system does norway have explain some

What type of economic system does Norway have? Explain some of the benefits of this system to the country and some of the drawbacks,

Among the who imf and wto which of these governmental

Among the WHO, IMF, and WTO, which of these governmental institutions do you feel has most profoundly shaped healthcare outcomes in low-income countries and why? Please support your reasons with examples and research/doc ...

A real estate developer will build two different types of

A real estate developer will build two different types of apartments in a residential area: one- bedroom apartments and two-bedroom apartments. In addition, the developer will build either a swimming pool or a tennis cou ...

Question what some of the reasons that evolutionary models

Question : What some of the reasons that evolutionary models are considered by many to be the best approach to software development. The response must be typed, single spaced, must be in times new roman font (size 12) an ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As