devxlogo

Derived Classes

Derived Classes

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.

See also  Professionalism Starts in Your Inbox: Keys to Presenting Your Best Self in Email
devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist