You are on page 1of 1

#include <iostream>

using namespace std;

class shape {
public:
virtual void area(){
cout<<"Shape::area "<<endl;

}
virtual ~shape(){
cout<<"destructor :"<<endl;

};

class triangle : public shape{


public:
void area(){
cout<<"triangle::area"<<endl;
}

};

class rectangle : public shape{

public:
void area(){
cout<<"rectangle::area"<<endl;
}

};

void magic (shape &a){


a.area();
}

int main() {

triangle t;
rectangle r;
magic(t);
magic(r);

shape *a = new triangle ;

delete a ;

return 0;
}

You might also like