J'ai besoin d'accéder à la variable membre de la classe dérivée à travers la variable de classe de base.Je dois accéder à un membre de la classe dérivée à travers la variable statique de la classe de base
Class A{
};
Class B:public A {
int data;
};
maintenant je dois faire quelque chose comme ça
A *pb = new B()
pb->data = 10;
mais le problème est que je ne peux pas accéder à la classe de membre dérivé wihtout il. Et oui, je sais comment le faire fonctionner avec des fonctions virtuelles.
Merci, j'apprécie vraiment votre aide.
+1 mais vous devez spécifier que la distribution n'est pas sûre. –
Oui, en fait, mon code n'a pas une situation comme celle-ci. Mais je me demandais juste, si je dois faire quelque chose comme ça ... Mais comment se fait-il que le design soit défectueux, donc vous voulez dire, tous les membres de la classe dérivée doivent être initialisés/modifiés seulement par les constructeurs ???? ou via des fonctions virtuelles ??? – howtechstuffworks
@howtechstuffworks accéder à un membre de la classe dérivée d'un parent signifie que quelque chose ne va pas. Parent est un objet viable en lui-même, et devrait pouvoir exister sans aucun objet dérivé, sauf s'il s'agit d'une classe virtuelle pure. La manière correcte de le faire serait à travers des fonctions virtuelles définies au niveau de la classe parente. – littleadv