1. 运算符重载怎么写
关键字是operator
重载运算符
除了预先定义的运算功能之处,用户还可以通过类或者结构中的设置operator声明来实现运算符的用户定义运算功能,用户定义的运算符的优先级总是高于预定义运算符实现的优先级。只有当没有适用的用户定义运算符实现存在时,才会考虑预定义的运算符实现。
重载运算符时一般使用operator关键字,对于一元和二元运算符,它们重载函数的方法如下表所示。
序号 运算符 运算符重载函数
1 op x operate op(x)
2 x op operate op(x)
3 x op y operate op(x,y)
2. c++中<<运算符重载怎么写啊
class MyClass{
int member1;
string member2;
friend ostream& operator<<(ostream& out, const MyClass& myclass){
out<<member1<<member2;
return out;
}
}
大概就是这么写。也可以不重载为友元,而改用成员函数获取成员变量的值。
我们平常写cout<<a<<"sdfghj"<<endl;为什么能成立, 就是因为<<;在iostream 里进行了重载。
而 cout 是在 iostream 里定义的,ostream类的对象。
在重载<<;时,返回值类型是ostream&, 第一个参数也是ostream& 。也就是说,表达式cout<<a的返回值仍是 cout。因此cout<<a<<"sdfghj"才能成立。
3. c++运算符重载,怎么写啊
10 public:
11 S(int i = 0, int j = 0):n(n), m(m){}
12 friend S operator+(S& s, C& c)
13 {
14 c.i = s.n;
15 c.j = s.m;
16 }
S& operator =(S&a)
{
*this.i=a.i;
*this.j=a.j;
return *this;
}