#include #include #include "IntegerSequence.hpp" void print(const IntegerSequence& is) { for (std::size_t i = 0; i < is.length(); ++i) { std::cout << " " << is(i); } std::cout << std::endl; } IntegerSequence gen_sequence(IntegerSequence seq, int val) { for (int i = 1; i <= val; ++i) { seq.add(i); } return seq; } int main() { IntegerSequence iseq; // default constructor iseq.add(1); IntegerSequence iseq2{iseq}; // copy constructor iseq2.add(2); iseq = iseq2; // regular assignment operator std::cout << "iseq: "; print(iseq); IntegerSequence iseq3 = gen_sequence(iseq, 3); // move constructor std::cout << "iseq3: "; print(iseq3); IntegerSequence iseq4; iseq4 = gen_sequence(iseq, 3); // move assignment std::cout << "iseq4: "; print(iseq4); }