fork download
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. template <class T>
  6. class Klasa;
  7. template <class T>
  8. ostream& operator<<(ostream& out, const Klasa<T>& right);
  9.  
  10. template <class T>
  11. class Klasa{
  12. private:
  13. int a;
  14. T rElement;
  15. public:
  16. Klasa(T rElement, int a) : a(a), rElement(rElement){}
  17. Klasa( int a) : a(a), rElement(0){}
  18.  
  19. template<class U>
  20. friend ostream& operator<<(ostream& out, const Klasa<U> &);
  21. };
  22.  
  23. template <class T>
  24. ostream& operator<<(ostream& out, const Klasa<T>& right){
  25. out << right.rElement;
  26. return out;
  27. }
  28.  
  29. int main() {
  30. Klasa <int> obiekt0(2,7);
  31. Klasa <int> obiekt1(9,7);
  32.  
  33. cout << obiekt0 << ' ' << obiekt1 << endl;
  34.  
  35. return 0;
  36. }
Success #stdin #stdout 0s 3296KB
stdin
Standard input is empty
stdout
2 9