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?

questionAnswers(5)

yourAnswerToTheQuestion