Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Question #1: Consider the following class declaration when answering the parts o

ID: 3670434 • Letter: Q

Question

Question #1: Consider the following class declaration when answering the parts of this question:

class List

{

    public:

        List(); //Default constructor; The list will have an initial size equal to 1

//and count equal to 0. Initialize the values in all the cells of

//the list to 0.

       List(const List &);           //copy constructor

       ~List();                      //destructor

       bool IsEmpty(){return count ==0;};   //returns true if List is empty.

       bool IsFull(){return count == size;}; //returns true is List is full.

      

       void Add(const int &);       //adds an item, inorder, into the List. Items may be shifted if

//necessary. Also if the array is full its size of tripled.

int Subtract(const List & L2); //subtracts the values in L2 from their corresponding values in L

//and stores the results (difference) in the corresponding                                 

//cells in L. The sum of the values stored in L is then returned.

//Assume L and L2 have the same count and capacity.

int Find(const int &);         // returns the location of item in the list; otherwise -1;

friend ostream & operator<<(ostream & out, const List & Org);

//Overload the operator<< with chaining. This function will print

//all the values stored in L.

                                      

     private:

         int *L;                      //dynamic array

       int size;                    //capacity of the dynamic array, L                                                                           

         int count;                   //number of items stored in the dynamic array, L

};

a. Implement the default constructor.

b. Implement the copy constructor.   

c. Implement Add.

d. Implement the code necessary to overload “operator<< as a friend function with chaining.

e. Implement Subtract.

f. What is the output from the following sequence of List operations?

List A, B;

int X:

A.Add(5);

A.Add(40);

A.Add(3);

A.Add(10);

B.Add(15);

B.Add(40);

B.Add(13);

B.Add(0);

X=A.Subtract(B);

A.Add(X);

B.Add(X);

X=B.Subtract(A);

B.Add(X);

cout<

cout<

cout<

g. How many times is the function DoubleSize called when the following statement are executed.

List A, B;                         

int X;

A.Add(5);

A.Add(40);

A.Add(3);

A.Add(10);

Question #2: T/F

1._________The array name of a dynamic array is a constant pointer to the first element in the array.

2._________The copy constructor is always called during the declaration of an object

3._________Friend functions of a class have access to its private members.

4._________The function “new” allows us to allocate memory during compile time.

5._________The function “delete” is used to de-allocate memory allocated by “new.”

6._________Typedef defines a new type for higher program efficiency.

7._________An ADT defines data and the operations that operate on that data.

8._________”this” is an object.

9.__________The open function binds a stream to a filename.

10.__________Overloaded functions can have the same name and return type, but they must have different argument

                           lists.

11.__________An array is accessed randomly because the first element is accessed quicker than the last element in the

                          array.

12.__________Objects can be passed explicitly through *this.

13._________The copy constructor is called during a call-by-value.

14._________The state of a class is the public data members.

15._________ A deep copy is a bit-by-bit copy done by the copy constructor.

Explanation / Answer

a) Default Constructor
Ppublic List()
{

}

b) Copy Constructor
List(const List & p)
{
List &a;
a=p;
}

c) Add method
void Add(const int &k);
{
int & s;
return s+k;
}

---------------------------------------------------------------------------------------------------

Question 2)

T/F
1) True
2) True
3) True
4) False
5) True
6) False
7) True
8) True
9) True
10) True
11) False
12) True
13) False
14) True
15) True

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote