I have a confusion about the inheriting the virtual property of a method.
Let\'s suppose we have 4 classes: class A, class B, class C and class D. The classes are inheri
You're correct.
I think that in this case the best solution is to try:
#include
using namespace std;
class A {
public:
void print(){ cout << "print A" << endl; };
};
class B: public A {
public:
virtual void print(){ cout << "print B" << endl; };
};
class C: public B {
public:
void print(){ cout << "print C" << endl; };
};
int main()
{
A *a = new C();
B *b = new C();
a->print(); // will print 'print A'
b->print(); // will print 'print C'
return 1;
}