devxlogo

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.

Charlie has over a decade of experience in website administration and technology management. As the site admin, he oversees all technical aspects of running a high-traffic online platform, ensuring optimal performance, security, and user experience.

See also  Seven Service Boundary Mistakes That Create Technical Debt

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.