Question:
Functions are inherited easily. But if you have a variable in the base class and you want have the same variable but with a different type in the derived class, what to do then? for instance:
class A{.......}class B{.......}class Base{ A MyClass;}class Child:public Base{ B MyClass;}
What happens in this case? I always encounter with pointer errors. Why?
Answer:
I have never tried this, but it appears that C++ provides no support for virtual variables. Just as well, really, since virtual functions involve a lookup table, which doesn’t seem like it would work very well with variables.
I really can’t image why this should be a limitation, though. In general, member variables are not accessed directly. Rather, they are accessed through member functions. You should be thinking in terms of adding a new variable to your derived class and override any methods that are affected by this different variable.