#include <iostream>
using std::cout;
using std::endl;
/* Class Shape */
class Shape
{
protected:
int width, height;
public:
Shape( int a=0, int b=0)
{
width = a;
height = b;
}
int area()
{
cout << "Parent class area :" <<endl;
return 0;
}
};
/* Class Triangle */
class Triangle: public Shape
{
public:
Triangle( int a=0, int b=0)
{
Shape(a, b);
}
int area ()
{
cout << "Triangle class area :" <<endl;
return (width * height / 2);
}
};
int main( )
{
Triangle tri(10,7);
tri.Shape::area();
std::cout << " versus " << std::endl;
tri.Triangle::area();
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgc3RkOjpjb3V0Owp1c2luZyBzdGQ6OmVuZGw7CgovKiBDbGFzcyBTaGFwZSAqLwpjbGFzcyBTaGFwZQp7CnByb3RlY3RlZDoKICAgIGludCB3aWR0aCwgaGVpZ2h0OwpwdWJsaWM6CiAgICBTaGFwZSggaW50IGE9MCwgaW50IGI9MCkKICAgIHsKICAgICAgICB3aWR0aCA9IGE7CiAgICAgICAgaGVpZ2h0ID0gYjsKICAgIH0KCiAgICBpbnQgYXJlYSgpCiAgICB7CiAgICAgICAgY291dCA8PCAiUGFyZW50IGNsYXNzIGFyZWEgOiIgPDxlbmRsOwogICAgICAgIHJldHVybiAwOwogICAgfQp9OwoKCi8qIENsYXNzIFRyaWFuZ2xlICovCmNsYXNzIFRyaWFuZ2xlOiBwdWJsaWMgU2hhcGUKewpwdWJsaWM6CiAgICBUcmlhbmdsZSggaW50IGE9MCwgaW50IGI9MCkKICAgIHsKICAgICAgICBTaGFwZShhLCBiKTsKICAgIH0KICAgIGludCBhcmVhICgpCiAgICB7CiAgICAgICAgY291dCA8PCAiVHJpYW5nbGUgY2xhc3MgYXJlYSA6IiA8PGVuZGw7CiAgICAgICAgcmV0dXJuICh3aWR0aCAqIGhlaWdodCAvIDIpOwogICAgfQp9OwoKaW50IG1haW4oICkKewogICAgVHJpYW5nbGUgdHJpKDEwLDcpOwoKICAgIHRyaS5TaGFwZTo6YXJlYSgpOwoKICAgIHN0ZDo6Y291dCA8PCAiIHZlcnN1cyAiIDw8IHN0ZDo6ZW5kbDsKCiAgICB0cmkuVHJpYW5nbGU6OmFyZWEoKTsKfQ==