//HAM JING YI A19EC0048
//Program 9.1
#include<iostream>
using namespace std;

class Shape
{
	protected:
		int width,height;
		
	public:
		Shape(int a=0, int b=0)
		{
			width=a;
			height=b;
		}
		int area()
		{
			cout<<"This is parent class area : "<<endl;
			return 0;
		}
};

class Rectangle : public Shape
{
	public:
		Rectangle(int a=0, int b=0):Shape(a,b)
		{
			
		}
		int area()
		{
			cout<<"This is Rectangle class area : "<<endl;
			return (width*height);
		}
};

class Triangle : public Shape
{
	public:
		Triangle(int a=0, int b=0):Shape(a,b)
		{
			
		}
		int area()
		{
			cout<<"This is Triangle class area : "<<endl;
			return (width*height/2);
		}
};

int main()
{
	Shape *shape;
	Rectangle rec(8,4);
	Triangle tri(8,3);
	
	//store the address of Rectangle
	shape=&rec;
	//call rectangle area.
	shape->area();
	
	//store the address of Triangle
	shape=&tri;
	//call triangle area.
	shape->area();
	
	return 0;
}
