Predict the output of the following code snippet.
#include<iostream> using namespace std; class A { public: virtual void function1() {cout<<"A :: function1()\n";}; virtual void function2() {cout<<"B :: function2()\n";}; virtual ~A(){}; }; class B: public A { public: ~B(){}; virtual void function1_virtual() { cout<<"B :: function1()\n"; }; }; int main() { B *b = new B; A *a = b; a->function1(); a->function2(); delete (a); return (0); }
Options
- A :: function1()
- B :: function2()
- A :: function1(),B :: function2()
- B :: function2(),A :: function1()