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

Step 1: #include <iostream> using namespace std; const int SIZE=5; class ARRAY_C

ID: 3559179 • Letter: S

Question

Step 1:

#include <iostream>

using namespace std;

const int SIZE=5;

class ARRAY_CLASS

{

public:

       ARRAY_CLASS();//default constructor

       void Add(int); //mutator

       void Print(); //accessor

       int * Get_Address(); //accessor

private:

       int *A;

       int count;

};

ARRAY_CLASS::ARRAY_CLASS()

{

       cout << "Default Constructor has been Called! ";

       A = new int[SIZE];

       count = 0;

}

void ARRAY_CLASS::Add(int item)

{

       if (count<SIZE)

              A[count++] = item;

       else

              cout << "Array Full ";

}

void ARRAY_CLASS::Print()

{

       for(int i=0; i<count; i++)

              cout << "A[i] = " << A[i] << endl;

}

int * ARRAY_CLASS::Get_Address()

{

       return A;

}

int main()

{

       ARRAY_CLASS B;

       B.Add(1);

       B.Add(2);

       B.Add(3);

       B.Add(4);

       B.Add(5);

       B.Print();

       cout << endl << endl;

       ARRAY_CLASS A = B;

       A.Print();

cout << endl;

       cout << "A holds address location = " << A.Get_Address();

       cout << " and B holds address location " << B.Get_Address() << endl;

       cout << endl;

       return 0;

}

Question 1:        Referring to the declaration/initialization statement and the output of the last cout

statement in the main() function of the program in Step 1, what type of copy was implemented:  deep or shallow.?  Explain your answer.

Question 2:Was a copy constructor implemented in the program in Step 1?  Explain your answer.

Explanation / Answer

#include <iostream>
using namespace std;
const int SIZE=5;
class ARRAY_CLASS
{
public:
       ARRAY_CLASS();//default constructor
       void Add(int); //mutator
       void Print(); //accessor
       int * Get_Address(); //accessor
private:
       int *A;
       int count;
};
ARRAY_CLASS::ARRAY_CLASS()
{
       cout << "Default Constructor has been Called! ";
       A = new int[SIZE];
       count = 0;
}
void ARRAY_CLASS::Add(int item)
{
       if (count<SIZE)
              A[count++] = item;
       else
              cout << "Array Full ";
}
void ARRAY_CLASS::Print()
{
       for(int i=0; i<count; i++)
              cout << "A[i] = " << A[i] << endl;
}
int * ARRAY_CLASS::Get_Address()
{
       return A;
}
int main()
{
       ARRAY_CLASS B;
       B.Add(1);
       B.Add(2);
       B.Add(3);
       B.Add(4);
       B.Add(5);
       B.Print();
       cout << endl << endl;
       ARRAY_CLASS A = B;
       A.Print();
cout << endl;
       cout << "A holds address location = " << A.Get_Address();
       cout << " and B holds address location " << B.Get_Address() << endl;
       cout << endl;
       return 0;
}
Question 1:        Referring to the declaration/initialization statement and the output of the last cout
statement in the main() function of the program in Step 1, what type of copy was implemented: deep or shallow.? Explain your answer.

since class has pointer and no copy constructor is implemented ..it will do shallow copy menas two objects refer to same set of elements.

/* OUTPUT

Address of A and B are SAME !!!

*/

Question 2:Was a copy constructor implemented in the program in Step 1? Explain your answer.

No Copy constructor was not implemented and compiler using default copy constructor to copy the data.

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