#include<iostream>
#include<string>
class BaseClass
{
public:
std::string name;
int ages;
public:
BaseClass(int a, std::string n)
{
name = n;
ages = a;
}
virtual void fnl1(){std::cout << name << std::endl;};
virtual void fnl2()
{std::cout << ages << std::endl;};
};
class DerivedClass :public BaseClass
{
public:
DerivedClass(int a, std::string n) :BaseClass(a, n)
{
ages = a;
name = n;
}
void fnl1() override { std::cout << name << std::endl; };
void fnl2()override {std::cout << ages << std::endl;};
};
int main()
{
BaseClass A(12, "FIRST");
BaseClass* P=&A;
A.fnl1();
A.fnl2();
DerivedClass B(60, "SECOND");
BaseClass* p = &B;
p->fnl1();
p->fnl2();
}