CCCPaste

Untitled

#include 

using namespace std;

class Student {
private:
    string ime;
    int br_na_index;
    float prosek;
    
public:
    Student() {
    }
    
    Student(string _ime, int _br_na_index, float _prosek) {
        ime = _ime;
        br_na_index = _br_na_index;
        prosek = _prosek;

    }
    
    Student(const Student & tmp) {
        ime = tmp.ime;
        br_na_index = tmp.br_na_index;
        prosek = tmp.prosek;
    }
    
    ~Student() {
    }
    
    string get_ime() {
        return ime;
    }
    int get_br_na_index() {
        return br_na_index;
    }
    float get_prosek() {
        return prosek;
    }
    
    void set_ime(string _ime) {
        ime = _ime;
    }
    void set_br_na_index(int _br_na_index) {
        br_na_index = _br_na_index;
    }
    void set_prosek(float _prosek) {
        prosek = _prosek;
    }
    
    
};

class Point {
private:
    int x, y;
public:
    Point() {}
    Point(int _x, int _y) {
        x = _x;
        y = _y;
    }
    Point(const Point & tmp) {
        x = tmp.x;
        y = tmp.y;
    }
    ~Point() {}
    
    Point operator + (Point tmp) {
        Point res(x + tmp.x, y + tmp.y);
        return res;
    }
    
    Point operator - (Point tmp) {
        Point res(x - tmp.x, y - tmp.y);
        return res;
    }
    
    Point operator * (Point tmp) {
        Point res(x * tmp.x, y * tmp.y);
        return res;
    }
    Point operator / (Point tmp) {
        Point res(x / tmp.x, y / tmp.y);
        return res;
    }
    
    Point & operator = (Point tmp) {
        x = tmp.x;
        y = tmp.y;
        
        return *this;
    }
    Point & operator += (Point tmp) {
        x += tmp.x;
        y += tmp.y;
        
        return *this;
    }
    Point & operator -= (Point tmp) {
        x -= tmp.x;
        y -= tmp.y;
        
        return *this;
    }
    
    Point & operator *= (Point tmp) {
        x *= tmp.x;
        y *= tmp.y;
        
        return *this;
    }
    
    Point & operator /= (Point tmp) {
        x /= tmp.x;
        y /= tmp.y;
        
        return *this;
    }
    
    Point & operator ++(int i) {
        x++;
        y++;
        
        return *this;
    }
    Point & operator ++ () {
        x++;
        y++;
        
        return *this;
    }
    Point & operator -- (int i) {
        x--;
        y--;
        
        return *this;
    }
    Point & operator -- () {
        x--;
        y--;
        
        return *this;
    }
    void print() {
        cout << x << " " << y << endl;
    }
    
    friend istream & operator >> (istream & stream, Point & tmp);
    friend ostream & operator << (ostream & stream, Point & tmp);
    
};

istream & operator >> (istream & stream, Point & tmp) {
    stream >> tmp.x;
    stream >> tmp.y;
    
    return stream;
}
ostream & operator << (ostream & stream, Point & tmp) {
    stream << "x: " << tmp.x << endl;
    stream << "y: " << tmp.y << endl;
    
    return stream;
}


int main()
{
    
    
    Point a;
    cin >> a;
    
    cout << a << endl;
    
 
  
    return 0;

}