#include <iostream>
using std::cout;
using std::endl;
class Base {
char language[30];
public:
void setLanguage(char *s) {
strcpy(language, s);
}
void printLanguage(void) {
cout << language << endl;
}
};
class Derived : public Base {
int programmers;
public:
void setProgrammers(int n) {
programmers = n;
}
void printProgrammers() {
cout << programmers << endl;
}
};
int main()
{
Base *pb;
Base bo;
Derived *pd;
Derived dobj;
pb = &bo;
pb->setLanguage("C++");
pb->printLanguage(); // C++
pb = &dobj;
pb->setLanguage("C");
pb->printLanguage(); // C
bo.printLanguage(); // C++
dobj.printLanguage(); // C
pd = &dobj;
pd->setProgrammers(15);
pd->printProgrammers();
return 0;
}
/*
run:
C++
C
C++
C
15
*/