#include #include #include #include class Whisper_Vector { public: Whisper_Vector() : list{}, current{}, forward{true} {} void insert(std::string const& name) { list.push_back(name); } void reset() { current = 0; forward = true; } bool has_next() { return current >= 0; } std::string& get_current() { return list.at(current); } void next() { if ( forward ) ++current; else --current; if ( current == list.size() ) { forward = false; --current; } } private: std::vector list; int current; bool forward; }; /* Ska skriva ut: Klas Christoffer Pontus Filip Pia Janos Daniel David David Daniel Janos Pia Filip Pontus Christoffer Klas */ int main() { Whisper_Vector l; l.insert("Klas"); l.insert("Christoffer"); l.insert("Pontus"); l.insert("Filip"); l.insert("Pia"); l.insert("Janos"); l.insert("Daniel"); l.insert("David"); l.reset(); while ( l.has_next() ) { std::cout << l.get_current() << std::endl; l.next(); } return 0; }