/* ?_1 что вставить под "type" ибо его "голое" использование приводит к естественной ошибке - класс group не содержит члена "type"
?_2 - group::Monarkh выдает что Monarkh не является членом group
Monarkh производный класс от country
Тобишь, если думать по аналогии,
вместо "bear->drinkVodkaWithRussianHuman();" я должен вызвать myObject->show();. Надеюсь, я правильно уловил
И,кажется, я признал в записи вашего цикла итератор с msdn и я так понял это аналог моего .begin .end просто "автоматом" смотрит всё.
Просто проблема в том что найти я должен такой объект выходя из другого "большого" класса
for (auto animal : animals) {
animal->walk();
if(animal->type == Animal::Bear) {
Bear *bear = static_cast<Bear *>(animal);
bear->drinkVodkaWithRussianHuman();
}
}
#include <iostream>
#include <vector>
class Animal {
public:
virtual void walk() = 0;
virtual ~Animal() {}
};
class Bear : public Animal {
public:
virtual void walk()
{
// walk as bear
std::cout << "bear is walking" << std::endl;
}
};
class Dog : public Animal {
public:
virtual void walk()
{
// walk as dog
std::cout << "dog is walking" << std::endl;
}
};
int main()
{
std::vector<Animal*> animals;
animals.push_back(new Bear());
animals.push_back(new Dog());
for (auto animal : animals) {
animal->walk();
}
for (auto animal : animals) {
delete animal;
}
return 0;
}
я не знаток джавы, но там тоже наверное есть команды
<?java echo $var ?> )))