cpp/CPP07/ex01/main.cpp
2024-12-04 17:29:31 +01:00

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;
}