C++11/C++1y 16
■ このスレッドは過去ログ倉庫に格納されています
0596デフォルトの名無しさん
2013/02/23(土) 12:20:32.50ptr_vectorの場合ポインタではなく参照だと知らなかった
class Animal {
public:
virtual void cry() const = 0;
virtual ~Animal() {}
};
class Dog : public Animal {
void cry() const {
std::cout << "bark" << std::endl;
}
};
class Cat : public Animal {
void cry() const {
std::cout << "mew" << std::endl;
}
};
int main()
{
boost::ptr_vector<Animal> pa;
pa.push_back(new Dog);
pa.push_back(new Cat);
std::for_each(std::begin(pa), std::end(pa), [=](Animal& ra) { ra.cry(); });
}
■ このスレッドは過去ログ倉庫に格納されています