Главная »
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 |