#include<iostream>
using std::cout;
class Bclass //members = a, b, fun0 and fun1
{public: int a = 2, b = 3;
void fun0() { cout << " Bclass fun0()." << "\n\n";}
void fun1() { cout << " Bclass fun1()." << "\n\n";}};
class Dclass : public Bclass//members = a, fun1 and fun2
{public: int a = 5;//This overrides a in Bclass.
cout << " Dclass.a = " << a << ", Bclass.a = " << Bclass.a << "\n\n";
void fun1() { Bclass::fun1(); }//use fun1 in Bclass
void fun2() { cout << " Dclass fun2()." << "\n\n";} };
int main()
{Dclass DC2; DC2.fun0(); DC2.fun1(); DC2.fun2();
cout << " DC2.a= " << DC2.a << ", DC2.b= " << DC2.b << "\n\n";
}//a in Dclass overrides a in Bclass, DC2.a=5. b inherits from Bclass.