Examveda

What will be the output of the following C++ code?
#include <iostream>
using namespace std;
class polygon 
{
    protected:
    int width, height;
    public:
    void set_values (int a, int b)
    { 
        width = a; height = b;}
    };
    class output1 
    {
        public:
           void output (int i);
    };
void output1::output (int i) 
{
    cout << i << endl;
}
class rectangle: public polygon, public output1 
{
    public:
    int area ()
    { 
        return (width * height); 
    }
};
class triangle: public polygon, public output1 
{
    public:
    int area ()
    {
        return (width * height / 2); 
    }
};
int main () 
{
    rectangle rect;
    triangle trgl;
    rect.set_values (4, 5);
    trgl.set_values (4, 5);
    rect.output (rect.area());
    trgl.output (trgl.area());
    return 0;
}

A. 20

B. 10

C. 20
10

D. 30

Answer: Option C


Join The Discussion

Related Questions on Inheritance in C plus plus