aydarbiktimirov icon

Untitled

aydarbiktimirov | PRO | 10/30/11 05:25:14 PM UTC | 0 ⭐ | 281 👁️ | Never ⏰ | []
C++ |

820 B

|

None

|

0 👍

/

0 👎

#include <vector>
#include <iostream>
 
class parent
{
    public:
        void print();
        virtual void generate() = 0;
    protected:
        std::vector<int> 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;
    }
}
 
template<typename T>
class work
{
    public:
        static void print();
};
 
template<typename T>
void work<T>::print()
{
    T().print();
}
 
int main()
{
    work<child1>::print();
    work<child2>::print();
    return 0;
}
 

Comments