Llamando al constructor de la clase base desde el constructor de la clase derivada
Tengo una pregunta:
Digamos que originalmente tengo estas clases que no puedo cambiar (digamos porque están tomadas de una biblioteca que estoy usando):
<code>class Animal_ { public: Animal_(); int getIdA() { return idA; }; string getNameA() { return nameA; } private: string nameA; int idA; } class Farm { public : Farm() { sizeF=0; } Animal_* getAnimal_(int i) { return animals_[i]; } void addAnimal_(Animal_* newAnimal) { animals_[sizeF]=newAnimal; sizeF++; } private: int sizeF; Animal_* animals_[max]; } </code>
Pero luego necesitaba una clase en la que simplemente agregué un par de campos, así que hice esto:
<code>class PetStore : public Farm { public : PetStore() { idF=0; }; private: int idF; string nameF; } </code>
Pero no puedo inicializar mi clase derivada, quiero decir que hice esta herencia para poder agregar animales a mi PetStore, pero ahora, dado que sizeF es privado, ¿cómo puedo hacer eso? Estoy pensando que tal vez en el constructor predeterminado de PetStore puedo llamar a Farm () ... ¿alguna idea?