/* teht8_1.cpp M 2.30.1 */ /* Tehtäviä 1) Peri luokasta luokka list2, joka on kaksisuuntainen ja jossa voidaan siis liikkua kumpaankin suuntaan. */ #include inline int inside(int a,int x,int b) // x välille [a,b], jos b= MAX_ELEM ) return 1; data[nelem++] = p; return 0; } }; /* list */ class list2 : public list { public: list2() : list() {}; int backward() { --cursor; return out(); } TYPE previous() { backward(); return current(); } }; #define VIIVA "------------------------------------------------------------\n" /****************************************************************************/ int main(void) { cout << VIIVA; list2 lc; lc.add('a'); lc.add('b'); lc.add('c'); lc.add('d'); for (char c=lc.first(); !lc.out(); c=lc.next() ) cout << c << " "; cout << c << "\n" << VIIVA; for (lc.tobegin(); !lc.out(); lc.forward() ) cout << lc.current() << " "; cout << lc.current() << "\n" << VIIVA; for (c=lc.last(); !lc.out(); c=lc.previous() ) cout << c << " "; cout << c << "\n" << VIIVA; for (lc.toend(); !lc.out(); lc.backward() ) cout << lc.current() << " "; cout << lc.current() << "\n" << VIIVA; return 0; }