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 <iostream>
#include <string>
using namespace std;
struct Insertable
{
operator int() const
{
cout << "op int()\n";
}
};
ostream &operator<<(ostream &out, Insertable const &ins)
{
return out << "insertion operator";
}
struct Convertor
{
operator Insertable() const
{
return Insertable();
}
};
struct Text
{
operator int() const
{
return 1;
}
};
struct Error
{
operator Text() const
{
return Text();
}
};
int main()
{
Insertable insertable;
cout << insertable << '\n';
Convertor convertor;
cout << convertor << '\n';
Error error;
cout << error << '\n';
}
|