52.
What will be the output of the following C++ code?
#include <iostream>
#include <string>
using namespace std;
class A
{
   public: 
	virtual static void show(){
		cout<<"class A\n";
	}
};
 
class B: public A
{
   public:
	static void show(){
		cout<<"class B\n";
	}
};
 
int main(int argc, char const *argv[])
{
	A *a = new A();
	B b;
	a = &b;
	a->show();
	return 0;
}

53.
What will be the output of the following C++ code?
#include <iostream>
#include <string>
using namespace std;
class A
{
	float d;
   public:
	A(){
		cout<<"Constructor of class A\n";
	}
};
 
class B: public A
{
	int a = 15;
    public:
	B(){
		cout<<"Constructor of class B\n";
	}
};
 
int main(int argc, char const *argv[])
{
	B b;
	return 0;
}

54.
What will be the output of the following C++ code?
#include <iostream>
using namespace std;
class student
{
    public:
    int rno , m1 , m2 ;
    void get()
    {
        rno = 15, m1 = 10, m2 = 10;
    }
};
class sports
{
    public:
    int sm;
    void getsm()
    {
        sm = 10;
    }
};
class statement:public student,public sports
{
    int tot,avg;
    public:
    void display()
    {
        tot = (m1 + m2 + sm);
        avg = tot / 3;
        cout << tot;
        cout << avg;
    }
};
int main()
{
    statement obj;
    obj.get();
    obj.getsm();
    obj.display();
}

55.
What is a pure virtual function?

56.
What will be the output of the following C++ code?
#include <iostream>
#include <string>
using namespace std;
 
class Mammal
{
   public:
	virtual void Define(){
		cout<<"I'm a Mammal\n";
	}
};
 
class Human: public Mammal
{
   public:
	void Define(){
		cout<<"I'm a Human\n";
	}
};
 
class Male: public Human
{
   public:
	void Define(){
		cout<<"I'm a Male\n";
	}
};
 
class Female: public Human
{
   public:
	void Define(){
		cout<<"I'm a Female\n";
	}
};
 
int main(int argc, char const *argv[])
{
	Mammal *M = new Mammal();
	Male m;
	Female f;
	*M = m;
	M->Define();
	M = &m;
	M->Define();
	return 0;
}

57.
What will be the output of the following C++ code?
#include <iostream>
using namespace std;
struct a
{
    int count;
};
struct b
{
    int* value;
};
struct c : public a, public b
{
};
int main()
{
    c* p = new c;
    p->value = 0;
    cout << "Inherited";
    return 0;
}

58.
What will be the output of the following C++ code?
#include <iostream>
using namespace std;
class Base1
{
    protected:
    int SampleDataOne;
    public:
    Base1()
    {
        SampleDataOne = 100;
    }
    ~Base1()
    {
    }
    int SampleFunctOne()
    {
        return SampleDataOne;
    }
};
class Base2
{
    protected:
    int SampleDataTwo;
    public:
    Base2()
    {
        SampleDataTwo = 200;
    }
    ~Base2()
    {
    }
    int SampleFunctTwo()
    {
        return SampleDataTwo;
    }
};
class Derived1 : public Base1, public Base2
{
    int MyData;
    public:
    Derived1() 
    {
        MyData = 300;
    }
    ~Derived1()
    {
    }    
    int MyFunct()
    {
        return (MyData + SampleDataOne + SampleDataTwo);
    }
};
int main()
{
    Base1 SampleObjOne;
    Base2 SampleObjTwo;
    Derived1 SampleObjThree;
    cout << SampleObjThree.Base1 :: SampleFunctOne() << endl;
    cout << SampleObjThree.Base2 :: SampleFunctTwo() << endl;
    return 0;
}

60.
Pick the correct statement.