[语言]C++运算符的重载

<类名> <类名>::operator ++ (); //前缀重载
<类名> <类名>::operator ++ (int); //后缀重载,规定就是用int作为参数
<类名> <类名>::operator – (); //前缀重载
<类名> <类名>::operator – (int); //后缀重载
friend <类名> operator ++ (<类名>&);//前缀重载
friend <类名> operator ++ (<类名>&,int);//前缀重载

<类名> <类名>::operator + (<类名> <参数名>); //重载二元加
friend <类名> operator + (<类名> <参数名>,<类名> <参数名>);

<类名>& <类名>::operator = (<类名> obj)
{
    if(this!=&obj)
    {
        delete obj;
        /*
        **code
        */
    }
    return *this;
}

[]运算符
<类型> operator;
例:

int& Intarray::operator[](int n)
{
    return xxx[n];
}
()运算符
<类型> operator ()(<参数表>);

类类型转换
一:
int m = obj;

operator <转化类型名>()
{
    return;
}

二:
obj = m;

MyClass(float m=0,int n=0)
<类名> <类名>::operator + (<类名> <参数名>);
obj = obj + m;
自动调用构造函数,再执行+;

你可能感兴趣的:([语言]C++运算符的重载)