#include #include #include using namespace std; template int poredi(T x, T y) { if (x < y) return -1; if (x > y) return 1; return 0; } int poredi (char *x, char *y) { return strcmp(x, y); } int poredi (const char *x, const char *y) { return strcmp(x, y); } template class Par { public: Par(T x, T y) :_prvi(x), _drugi(y) {} void pisi(ostream &ostr) const { ostr << "(" << _prvi << ", " << _drugi << ")"; } void citaj(istream &istr) { istr >> _prvi >> _drugi; } T vratiPrvi() const { return _prvi; } T vratiDrugi() const { return _drugi; } private: T _prvi; T _drugi; }; template ostream& operator<<(ostream& ostr, const Par& p) { p.pisi(ostr); return ostr; } template istream& operator>>(istream& istr, Par& p) { p.citaj(istr); return istr; } int main() { int a = 2, b = 3; cout << poredi(a, b) << endl; float c = 3.3, d = 3.5; cout << poredi(c, d) << endl; char e = 'a', f = 'g'; cout << poredi(e, f) << endl; string s = "mirko"; cout << s << endl; cout << s.length() << endl; cout << s + s << endl; cout << (s < "rirko") << endl; cout << poredi(string("mirko"), string("spasic")) << endl; //puna sintaksa cout << poredi(2,4) << endl; cout << poredi(2,4) << endl; // skracena sintaksa cout << poredi(2,4) << endl; cout << poredi(6.3,4.1) << endl; // sintanska greska: cout << poredi(3, 2.1) << endl; cout << poredi(3, 2.1) << endl; cout << poredi("spasic", "mirko") << endl; Par p(1,2); cout << p << endl; cin >> p; cout << p << endl; Par< Par > p1(Par(2,3), Par(5.6, 1)); cout << p1 << endl; return 0; }