(a) Assuming all the 'new' operations succeed,
show the output from the following program
#include <iostream> using namespace std; class shape { public: virtual void print() = 0; }; class circle: public shape { public: virtual void print(); }; class sphere: public circle { public: virtual void print(); }; int main() { cout << endl << "Shape pointer" << endl; shape *s = new circle; if (s) s->print(); s = new sphere; if (s) s->print(); cout << endl << "Circle pointer" << endl; circle *c = new circle; if (c) c->print(); c = new sphere; if (c) c->print(); } void circle::print() { cout << "circle" << endl; } void sphere::print() { cout << "sphere" << endl; }