1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
#include <algorithm>
#include <string>
/*
class MyClass
{
public:
typedef int value_type; // value_type MUST be defined
void push_back(value_type i) // int or value_type: both ok
{
cerr << "Inserting " << i << '\n';
}
};
*/
template <typename Type>
class MyClass
{
public:
typedef Type value_type; // value_type MUST be defined
void push_back(value_type const & i) // int or value_type: both ok
{
cerr << "Inserting " << i << '\n';
}
};
int main(int argc, char **argv)
{
int
x [] = {1, 2, 4, 8, 16};
MyClass<int>
mc;
copy(x, x + 5, back_inserter(mc));
string
s [] = {"opa", "en", "oma", "op", "de", "bank"};
MyClass<string>
ms;
copy(s, s + sizeof(s) / sizeof(string), back_inserter(ms));
}
|