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
Related Questions
Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.