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

Given classA and classB: class classA { public: virtual void print() const; void

ID: 3629183 • Letter: G

Question

Given classA and classB:
class classA
{
public:
virtual void print() const;
void doubleNum();
classA(int a = 0);

private:
int x;
};

void classA::doubleNum()
{
x = 2 * x;
}

classA::classA(int a)
{
x = a;
}

class classB: public classA
{
public:
void print() const;
void doubleNum();
classB(int a = 0, int b = 0);

private:
int y;
};

void classB::print() const
{
classA::print();
cout << "ClassB y: " << y << endl;
}

void classB::doubleNum
{
classA::doubleNum();

y = 2 * y;
}

classB::classB(int a, int b)
: classA(a)
{
y = b;
}

What is the output of the following function main?
int main()
{
classA * ptrA;
classA objectA (2) ;

classB objectB(3, 5) ;

ptrA = &objectA;
ptrA->doubleNum();
ptrA->print();
cout << endl;

ptrA = &objectB;

ptrA->doubleNum();
ptrA->print();
cout << endl;

return 0;
}

Explanation / Answer

Dear, Given code: int main()
{
classA * ptrA;
classA objectA (2) ;

classB objectB(3, 5) ;

ptrA = &objectA;
ptrA->doubleNum();//doubles 2 value of objectA
ptrA->print();//prints 4
cout << endl;

ptrA = &objectB;

ptrA->doubleNum();//doubles 5 value passed to y
ptrA->print();//prints 10
cout << endl;

return 0;
} Displays: ClassA y: 4 ClassB y: 10 Hope this will help you
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