How to use inheritance with virtual functions in C++

1 Answer

0 votes
#include <iostream>

using std::cout;
using std::endl;

class Base {
public:
	virtual void vFunction()
	{
		cout << "class Base: virtual void vFunction()" << endl;
	}
};

class Derived1 : public Base {
public:
	void vFunction()
	{
		cout << "class Derived1: void vFunction()" << endl;
	}
};

class Derived2 : public Derived1 {
public:
	void vFunction()
	{
		cout << "class Derived2: void vFunction()" << endl;
	}
};

int main()
{
	Base *p;
	Base o;
	Derived1 d1;
	Derived2 d2;

	p = &o;
	p->vFunction();               

	p = &d1;
	p->vFunction();                 

	p = &d2;
	p->vFunction();                 

	return 0;
}



/*
run:

class Base: virtual void vFunction()
class Derived1: void vFunction()
class Derived2: void vFunction()

*/

 



answered Mar 26, 2018 by avibootz

Related questions

2 answers 218 views
1 answer 147 views
1 answer 180 views
1 answer 162 views
1 answer 171 views
1 answer 163 views
...