C++中,我们能定义对象赋值的默认赋值运算符函数的参数么???
同类对象相互赋值时,会调用默认赋值运算符函数。当然我们可以自定义这个函数,我们自定义内容,能自定义参数么???还是说参数是固定的??返回类型呢?是自定义还是规定死了的??...
同类对象相互赋值时,会调用默认赋值运算符函数。 当然我们可以自定义这个函数,我们自定义内容,能自定义参数么???还是说参数是固定的??返回类型呢?是自定义还是规定死了的???
展开
展开全部
template<typename T>
class cs_type{
public:
template<typename T1,typename T2>
T1 operator=(const T2&r){
T1 t;
//这应该能说明很多问题
//但这不符合规范的 =号操作一般返回一个引用,这里应该返回cs_type<T>&类型
//参数个数是固定的
return t;
}
但是
};
class cs_type{
public:
template<typename T1,typename T2>
T1 operator=(const T2&r){
T1 t;
//这应该能说明很多问题
//但这不符合规范的 =号操作一般返回一个引用,这里应该返回cs_type<T>&类型
//参数个数是固定的
return t;
}
但是
};
追问
。。。。。。到底是怎样的啊。。。你是说参数个数固定,类型随便自定义?
返回值类型是固定的?
追答
就参数个数固定 “=” 是二元操作运算符,你不能改成三元四元,所以个数确定
参数类型是随便自定义,当不能和已有运算操作冲突
返回值一般是一个引用,类型也就和=左边的类型一样,但要改成其它的也没说不可以,只是不符合规范而已
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询