Chapter 12: Problem 32
Suppose that you have the following classes, classA and classB: class classA { public: virtual void print() const; void doubleNum(); classA(int a = 0); private: int x; }; void classA::print() const { cout << "ClassA x: " << x << endl; } 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; }
Short Answer
Step by step solution
Key Concepts
These are the key concepts you need to understand to accurately answer the question.