56 lines
1.3 KiB
C++
56 lines
1.3 KiB
C++
#include "iter.hpp"
|
|
class Awesome
|
|
{
|
|
public:
|
|
Awesome( void ) : _n( 42 ) { return; }
|
|
int get( void ) const { return this->_n; }
|
|
private:
|
|
int _n;
|
|
};
|
|
std::ostream & operator<<( std::ostream & o, Awesome const & rhs ) { o << rhs.get(); return o; }
|
|
|
|
template< typename T >
|
|
void print( T const & x ) { std::cout << x << std::endl; return; }
|
|
|
|
int main(void) {
|
|
|
|
std::cout << "\n---Test0---\n" << std::endl;
|
|
{
|
|
int arr1[] = { 1, 2, 3, 4, 5 };
|
|
std::cout << "arr1*: " << std::endl;
|
|
iter(arr1, 5, &print);
|
|
std::cout << "\narr1*: " << std::endl;
|
|
iter(arr1, 5, &add);
|
|
iter(arr1, 5, &print);
|
|
|
|
float arr2[] = { 1.1f, 2.2f, 3.3f, 4.4f, 5.5f};
|
|
std::cout << "\narr2: " << std::endl;
|
|
iter(arr2, 5, &print);
|
|
std::cout << "\narr2*: " << std::endl;
|
|
iter(arr2, 5, &add);
|
|
iter(arr2, 5, &print);
|
|
|
|
char arr3[] = { 'a', 'b', 'c', 'd', 'e' };
|
|
std::cout << "\narr3: " << std::endl;
|
|
iter(arr3, 5, &print);
|
|
std::cout << "\narr3*: " << std::endl;
|
|
iter(arr3, 5, &add);
|
|
iter(arr3, 5, &print);
|
|
|
|
std::string arr4[] = { "one", "two", "three", "four", "five" };
|
|
std::cout << "\narr4: " << std::endl;
|
|
iter(arr4, 5, &print);
|
|
}
|
|
|
|
std::cout << "\n\n---Test1---\n" << std::endl;
|
|
{
|
|
int tab[] = { 0, 1, 2, 3, 4 };
|
|
Awesome tab2[5];
|
|
iter( tab, 5, print );
|
|
iter( tab2, 5, print );
|
|
}
|
|
std::cout << "\n\n---EndTest---\n" << std::endl;
|
|
|
|
return 0;
|
|
}
|