Chamando o construtor da classe base a partir do construtor da classe derivada
Eu tenho uma pergunta:
Digamos que eu tenha originalmente essas classes que eu não posso mudar (digamos porque são tiradas de uma biblioteca que estou 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>
Mas então eu precisei de uma classe onde adicionei alguns campos, então fiz isso:
<code>class PetStore : public Farm { public : PetStore() { idF=0; }; private: int idF; string nameF; } </code>
Mas eu não posso inicializar minha classe derivada, quero dizer, eu fiz esta herança para que eu possa adicionar animais à minha PetStore, mas agora, já que sizeF é privado, como posso fazer isso? Eu estou pensando talvez no construtor padrão PetStore eu posso chamar Farm () ... então alguma idéia?