Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: C++
Expertise: Beginner
May 23, 1999

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.

DevX Pro
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date