У меня вопрос:
Скажем, я изначально выбрал эти классы, которые я не могу изменить (скажем, потому что они взяты из библиотеки, которую я использую):
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];
}
Но тогда мне нужен класс, где я просто добавляю пару полей, поэтому я сделал это:
class PetStore : public Farm
{
public :
PetStore()
{
idF=0;
};
private:
int idF;
string nameF;
}
Но я не могу инициализировать свой производный класс, я имею в виду, что я сделал это наследование, чтобы добавить животных в свой PetStore, но теперь, поскольку sizeF является приватным, как я могу это сделать? Я думаю, возможно, в конструкторе по умолчанию для PetStore, который я могу назвать Farm()... так что любая идея?