Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- using namespace std;
- class geometricobject { //baseclass
- public:
- virtual void geo( ) {
- cout << "Just a geometric object" << endl;
- }
- };
- class rectangle : public geometricobject { //derived class
- public:
- virtual void geo( ) {
- cout << "I'm a rectangle" << endl;
- }
- };
- class circle : public geometricobject { // derived class
- public:
- virtual void geo( ) {
- cout << "I'm a circle" << endl;
- }
- };
- int main( ) {
- geometricobject *ptr; //pointer to base class
- int which, rerun=1;
- while(rerun==1) {
- do {
- cout << "Enter:\n\t"
- <<"1 for geometricobject\n\t"
- <<"2 for rectangle\n\t"
- <<"3 for circle\n\t"
- <<"4 to quit"<<endl;
- cin >> which;
- } while (which < 1 || which > 4);
- switch (which) { //set pointer depending on user choice
- case 1:
- ptr = new geometricobject;
- break;
- case 2:
- ptr = new rectangle;
- break;
- case 3:
- ptr = new circle;
- break;
- case 4:
- rerun=0;
- break;
- }
- if (rerun==0) break;
- ptr -> geo( ); //run-time binding
- delete ptr; //donβt leave junk hanging around
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement