运算符有单目运算符和双目运算符,分别跟一个操作数和两个操作数。在c++里面无论是那种他们都可以操作多种类型的的变量,例如+运算符a+b,a,b既可以是整型,也可以是浮点型(float),编译器有一张符号表保存了a,b的类型(可以自己去看编译原理),当编译器在翻译a+b时根据其类型调用相应子程序处理。有时候我们觉得a,b的类型不够,这个时候,我们就可以重载+,比如我们想实现 classA+classB,我们就可以重载+,返回值 operator+(classA a,classB& b){
要干的事.....
return 返回值
}
具体干什么以及返回值自己定义。下面给出了输出符号《是怎么重载的
#include "stdafx.h"
#include<iostream>
using namespace std;
class g{
public:
int m;
};
ostream& operator<<(g h,ostream& o){//h《的左操作数,o为《的右操作数
return o<<h.m;
} ;
int _tmain(int argc, _TCHAR* argv[])
{
g k;
k.m=100;
k<<cout<<endl;
return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-24 15:38:40