Advertisement
Guest User

Untitled

a guest
Jan 19th, 2017
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.86 KB | None | 0 0
  1.  
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. template<class T> class frac
  7. {
  8. T num , den;
  9. public:
  10. frac(): num(0), den(0) {}
  11. explicit frac(int n, int d ): num(n), den(d) {}
  12.  
  13. operator int();
  14. operator bool();
  15. operator char();
  16. };
  17.  
  18. template<class T> frac<T>::operator int()
  19. {
  20. cout << "\nOPERATOR(INT)\n";
  21. return (int)(num/den);
  22. }
  23.  
  24. template<class T> frac<T>::operator bool()
  25. {
  26. cout << "\nOPERATOR(BOOL)\n";
  27. return (den != 0);
  28. }
  29.  
  30. template<class T> frac<T>::operator char()
  31. {
  32. cout << "\nOPERATOR(CHAR)\n";
  33. if( (int)num/den > 255 || (int)num/den < 1 ) return (char)48;
  34. return (char)num/den;
  35. }
  36.  
  37. int main()
  38. {
  39. float a = 7 , b = 3;
  40.  
  41. frac<float> f1(a,b);
  42.  
  43. cout << (int)f1 << endl;
  44. cout << (bool)f1 << endl;
  45. cout << (char)f1 << endl;
  46.  
  47. return 0;
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement