Помогите разобраться нубу с тем, как работает istream&, конкретно интересует следующая конструкция:
вот есть у меня классы с методами:
// класс SimpleAnimalCreator
// constructor
SimpleAnimalCreator::SimpleAnimalCreator(){};
Animal* SimpleAnimalCreator::create(string const & spec, string const & name, int age) {
if (spec == "Tiger") {
return new Tiger(name, age);
};
if (spec == "Rabbit") {
return new Rabbit(name, age);
};
if (spec == "Sparrow") {
return new Sparrow(name, age);
};
if (spec == "Lizard") {
return new Lizard(name, age);
};
return nullptr;
};
// destructor
SimpleAnimalCreator::~SimpleAnimalCreator(){};
// класс StreamZooCreator
//приватные поля istr и sac;
// constructor
StreamZooCreator::StreamZooCreator(istream & _istr, SimpleAnimalCreator * _sac){
};
// создание зоопарка
Zoo* StreamZooCreator::create(){
string type;
string name;
int age;
cout << "Ввести животных";
while (istr) {
cin >> type >> name >> age;
sac -> create(type, name, age);
}
return nullptr;
};
// destructor
StreamZooCreator::~StreamZooCreator(){};
В задании говорится, что у класса StreamZooCreator должно быть 2 поля типа istream & и SimpleAnimalCreator *, которые инициализируются в конструкторе. Ну и далее метод create() в классе StreamZooCreator должен передавать данные из потока istream в SimpleAnimalCreator, который создает некоторый объект класса Animal на основе входящих данных.
У меня собственно пара вопросов (первый важный, второй наверно и сам разберусь но на всякий случай):
как объявлять, инициализировать и что передавать в качестве фактического аргумента для istream& ???
ну и цикл while потом подправить, чтобы он опирался на входящий поток.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Есть текстовый файл в котором хранится ссылка к примеру (https://rustackoverflow
Есть код простой небольшой демки на C++В ней реализовывается механика "ходить, ставить блоки, убирать блоки"
Проблема заключается в том, что в разных местах программы функции, работающие со QString, ведут себя по-разному в отношении обработки кириллицыЭто...