Guest User

Untitled

a guest
Nov 24th, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.11 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. template <typename R,typename I> class Zespolona;
  6.  
  7. template <typename M,typename N>
  8. ostream& operator<< (ostream &,const Zespolona<M,N> &);
  9.  
  10. template <typename R,typename I>
  11. class Zespolona
  12. {
  13. R rez;
  14. I imz;
  15. public:
  16. Zespolona():rez(0),imz(0)
  17. {}
  18. Zespolona(R r, I i):rez(r),imz(i)
  19. {}
  20.  
  21. Zespolona<R,I> operator+ (const Zespolona<R,I> &z) const
  22. {
  23. return Zespolona<R,I>(rez+z.rez,imz+z.imz);
  24. }
  25.  
  26. Zespolona<R,I> operator*(const Zespolona<R,I> &z) const
  27. {
  28. return Zespolona<R,I>(rez*z.rez + imz*z.imz, rez*z.imz - imz*z.imz);
  29. }
  30.  
  31. Zespolona<double,double> operator*(const double &l) const
  32. {
  33. return Zespolona<double,double>(rez*l,imz*l);
  34. }
  35.  
  36.  
  37.  
  38. friend ostream& operator<< (ostream &,const Zespolona<M,N> &);
  39. };
  40.  
  41.  
  42.  
  43. template <typename M,typename N>
  44. ostream& operator<<(ostream &os,const Zespolona<M,N> &x)
  45. {
  46. os << x.rez << "+" << x.imz << "i" << endl;
  47. return os;
  48. }
  49.  
  50.  
  51.  
  52.  
  53. int main()
  54. {
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61. system("pause");
  62. return 0;
  63. }
Add Comment
Please, Sign In to add comment