c++重载>等符号 swift 重载符号

以下示例中定义了一个class test,重载了<, +, +=, =, ==,<<,>>等符号:

#include<iostream>
#include<vector>
using namespace std;

class test{
public:
int v;

test():v(0){}
test(const int &a):v(a){}
test(const test &t1):v(t1.v){}


//比较两个对象的大小
bool operator<(const test &t1)const{
return (v < t1.v);
}
//比较对象和int的大小
bool operator<(const int &t1)const{
return (v < t1);
}
//友元函数,比较int和对象的大小
friend inline bool operator<(const int&a, const test & t1){
return (a < t1.v);
}


//对象间赋值
test & operator=(const test&t1){
v = t1.v;
return *this;
}
//int赋值给对象
test & operator=(const int&t1){
v = t1;
return *this;
}


//对象加上 int
test operator+(const int & a){
test t1;
t1.v = v + a;
return t1;
}
//对象加对象
test operator+(test &t1){
test t2;
t2.v = v + t1.v;
return t2;
}


//对象加上对象
test &operator+=(const test&t1){
v += t1.v;
return *this;
}
//对象加上int
test &operator+=(const int&a){
v += a;
return *this;
}


//对象==对象
bool operator==(const test &t1)const{
return (v == t1.v);
}
//对象==int
bool operator==(const int &t1)const{
return (v == t1);
}



friend inline ostream & operator<< (ostream & os,test &t1){
cout << "class t("<< t1.v<< ")"<< endl;
return os;
}
c++重载>等符号 swift 重载符号

friend inline istream & operator>> (istream & is,test &t1){
cin >> t1.v;
return is;
}
};

int main(){
test t0, t1(3);
test t2(t1);
cout << t0<< t1<< t2;
cin >> t1;
t2 = t1;
t2 += t1;
t1 += 10;
cout << t2;
if(t1 < t2) cout <<"t1 < t2";
else if(t1 == t2) cout << "t1 =t2";
else cout << "t1 >t2";
cout <<endl;
system("pause");
return 0;
}

  

爱华网本文地址 » http://www.aihuau.com/a/25101014/234703.html

更多阅读

source insight 教程 source insight下载

source insight 教程——简介source insight可以对java、c#、c、c++、等语言程序代码进行分析,是一个面向对象开发的程序编辑器以及代码浏览器。下面来简单说下source insight怎么用,希望对于初学者有所帮助。source insight 教程—

怎么样在Excel单元格中输入上下标? excel中如何输入下标

在Excel表格文字录入时,有时需要在Excel单元格中输入如平方米m2(2为上标),CO2(2为下标)等符号2,Excel可以方便地实现。怎么样在Excel单元格中输入上下标?——步骤/方法怎么样在Excel单元格中输入上下标? 1、步骤一:在Excel单元格中选择要设置

查询三星手机串号IMEI! 三星手机串号查询产地

查串号http://www.imeidb.com/您的手机IMEI码位于手机外包装盒上、手机电池仓下,也可以在手机中拨号界面中输入*#06#看到手机的IMEI码,或系统设置中“关于”。IMEI码是一个15位或17位的数字,数字中间可能有空格或-隔开。本站查询时请

爱码手机验证码自动接收平台 爱码验证码接收平台

首页| 最新动态 | 帮助中心 | API接口说明爱码手机验证码自动接收平台API接口下载接口文档 查看API流程图 下载JAVA版例子 下载.net版例子系统可提供自动化API供开发者开发自动化程序。如有不明白之处或自己没能力开发程序想找人开

声明:《c++重载>等符号 swift 重载符号》为网友港岛少年分享!如侵犯到您的合法权益请联系我们删除