CIS29 - Example 4 - namespace my - my own cout
#include <iostream>
#include <cstdio>
#include <cmath>
using std::printf;
namespace my
{
class out
{
public:
out& operator<<(const int&);
out& operator<<(const double&);
out& operator<<(const char&);
};
out cout;
const char endl = '\n';
using std::sqrt;
}
my::out& my::out::operator<<(const int& x)
{
printf("%d",x);
return *this;
}
my::out& my::out::operator<<(const double& x)
{
printf("%lf",x);
return *this;
}
my::out& my::out::operator<<(const char& x)
{
printf("%c",x);
return *this;
}
int main()
{
using namespace my;
cout << 123 << endl;
cout << sqrt(2.) << endl;
std::cout << 123 << std::endl;
std::cout << std::sqrt(2.) << std::endl;
system("pause");
return 0;
}
***** Program output *****
123
1.414214
123
1.41421