标签:
运算符重载为成员函数时,会省略一个参数,如果无参数,表明是一元运算符。一元运算符即可以作为成员函数重载,也可以作为非成员函数重载。二元运算符如果作为非成员函数,则参数表中必须有两个参数。
重载不能改变运算符对象的个数;不能改变运算符的优先级别;不能改变运算符的结合性;重载运算符的函数不能有默认值,否则就改变了运算符参数的个数;不能定义新的运算符,某些运算符不能重载。可以改变运算符原有的操作类型。
C++有5个运算符不能重载,.(成员访问运算符)、.*(成员指针访问运算符)、::(域运算符)、sizeof(长度运算符)和?:(条件运算符)
重载运算符的函数不能有默认的参数。
}
运算符重载具体格式
DataList DataList::operator+(const DataList& list)const{ //两个数据表求和
double *dd = new double [list.length()];
for( int i=0; i < len; ++i)
dd[i] = d[i] + list.d[i];
return DataList(list.length(),dd);
}
标签:
原文地址:http://www.cnblogs.com/wwzyy/p/4385380.html