(A) When you create two object stacks of the same type, they are considered equal if they satisfy two conditions: they have the same length of elements, and their corresponding positions are matched. The relational overload operator == returns true if two object stacks are the same, false otherwise. Write a definition of this operator into a function template using the following function declaration. Also, add this operator function to the header file linkedStack. bool operator 3(const linkedStackType& otherStack) const;

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question
**Understanding Stacks in Programming**

**(A)** When you create two object stacks of the same type, they are considered equal if they satisfy two conditions: they have the same length of elements, and their corresponding positions are matched.

The relational overload operator `==` returns true if two object stacks are the same, false otherwise. Write a definition of this operator into a function template using the following function declaration. Also, add this operator function to the header file `linkedStack`.

```cpp
bool operator==(const linkedStackType<Type>& otherStack) const;
```

**(B)** Write a function definition about `reverseStack`. This function copies elements of a stack in reverse order onto another stack. Add the following function declaration to the class file (`linkedStack`) and complete its function definition.

```cpp
void reverseStack(linkedStackType<Type> &otherStack);
```

**Example**: Consider the following statements when creating stack objects:

```cpp
linkedStackType stack1;
linkedStackType stack2;
```

The statement `stack1.reverseStack(stack2);` copies the elements of `stack1` onto `stack2` in reverse order. That is, the top element of `stack1` is moved to the bottom of `stack2`, and so on. The old contents of `stack2` are destroyed and `stack1` is unchanged.

**(C)** Write a test program to satisfy the following requirements:

(a) Create two default stack objects, `stack1` and `stack2` (object type must be integer).

(b) Prompt the user to add inputs into the `stack1` providing an appropriate ending statement (use `-999` to end a user’s input). The `-999` does not count as an element of the `stack1`.

(c) Copy `stack1` to `stack2` using `=` assign operator.

(d) Print a statement indicating whether the stacks are the same or not.

(e) Copy the elements of `stack1` onto `stack2` in reverse order using the reverse function (`reverseStack()`). Then, print a statement indicating whether the stacks are the same or not.

(f) Print all elements of the `stack1` and the `stack2`.
Transcribed Image Text:**Understanding Stacks in Programming** **(A)** When you create two object stacks of the same type, they are considered equal if they satisfy two conditions: they have the same length of elements, and their corresponding positions are matched. The relational overload operator `==` returns true if two object stacks are the same, false otherwise. Write a definition of this operator into a function template using the following function declaration. Also, add this operator function to the header file `linkedStack`. ```cpp bool operator==(const linkedStackType<Type>& otherStack) const; ``` **(B)** Write a function definition about `reverseStack`. This function copies elements of a stack in reverse order onto another stack. Add the following function declaration to the class file (`linkedStack`) and complete its function definition. ```cpp void reverseStack(linkedStackType<Type> &otherStack); ``` **Example**: Consider the following statements when creating stack objects: ```cpp linkedStackType stack1; linkedStackType stack2; ``` The statement `stack1.reverseStack(stack2);` copies the elements of `stack1` onto `stack2` in reverse order. That is, the top element of `stack1` is moved to the bottom of `stack2`, and so on. The old contents of `stack2` are destroyed and `stack1` is unchanged. **(C)** Write a test program to satisfy the following requirements: (a) Create two default stack objects, `stack1` and `stack2` (object type must be integer). (b) Prompt the user to add inputs into the `stack1` providing an appropriate ending statement (use `-999` to end a user’s input). The `-999` does not count as an element of the `stack1`. (c) Copy `stack1` to `stack2` using `=` assign operator. (d) Print a statement indicating whether the stacks are the same or not. (e) Copy the elements of `stack1` onto `stack2` in reverse order using the reverse function (`reverseStack()`). Then, print a statement indicating whether the stacks are the same or not. (f) Print all elements of the `stack1` and the `stack2`.
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps with 2 images

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY