Главная » 2019 » Октябрь » 29 » Классы 5 Перегрузка операторов
11:06
Классы 5 Перегрузка операторов

#include <iostream>
using namespace std;
class test{
private:
    int value;
public:
    test(int i){
        value=i;
    }
    void get(){
        cout<<value<<endl;
    }
    ~test(){
    }
    friend test& operator-(test& i){
        return test(-i.value);
    }
    friend test& operator++(test& i){
        return test(i.value+1);
    }
    friend test& operator--(test& i){
        return test(i.value-1);
    }
    friend test& operator+(test& i, int x){
        return test(i.value+x);
    }
    friend test& operator-(test& i, int x){
        return test(i.value-x);
    }
    friend test& operator+(test& i, test& j){
        return test(i.value+j.value);
    }
    friend test& operator-(test& i, test& j){
        return test(i.value-j.value);
    }
    friend bool operator>(test& i, test& j){
        return (i.value>j.value);
    }
    friend bool operator<(test& i, test& j){
        return (i.value<j.value);
    }
    friend bool operator==(test& i, test& j){
        return (i.value==j.value);
    }
};
int main(){
    test a(5); a.get();
    a=-a; a.get();
    a=a++; a.get();
    a=a--; a.get();
    a=a+10; a.get();
    a=a-7; a.get();

    test b(10),c(20); b.get(); c.get();
    b=b+c; b.get(); c.get();
    b=b-c; b.get(); c.get();
    
    if (b>c)
        cout<<"b>c"<<endl;
    if (b<c)
        cout<<"b<c"<<endl;
    if (b==c)
        cout<<"b=c"<<endl;
    system("pause");
    return 0; 
}

Просмотров: 230 | Добавил: denjes | Рейтинг: 0.0/0
Всего комментариев: 0
avatar