#include #include class parent { public: void print(); virtual void generate() = 0; protected: std::vector seq; }; void parent::print() { generate(); for (size_t i = 0; i < seq.size(); ++i) { std::cout << seq[i] << " "; } std::cout << std::endl; } class child1: public parent { public: void generate(); }; void child1::generate() { seq.assign(10, 5); } class child2: public parent { public: void generate(); }; void child2::generate() { seq.resize(10); for (size_t i = 0; i < 10; ++i) { seq[i] = i; } } int main() { child1 c1; child2 c2; c1.print(); c2.print(); return 0; }