コード例 #1
0
Element* Calculateur::cast(Element* e)
{
    if(typeid(*e) == typeid(Expression))
    { qDebug()<<"cast expression";
        return e->clone();
    }
    else if(isComplexe())//\todo ici il faudrait faire attention de ne pas transformer les parties imaginaire et réelle d'un complexe en complexe
    {   qDebug()<<"cast Complexe";
        return e->toComplexe();
    }
    else if(isEntier())
    {   qDebug()<<"cast entier";
        return e->toEntier();
    }
    else if(isReel())
    {   qDebug()<<"cast reel";
        return e->toReel();
    }
    else if(isRationnel())
    {   qDebug()<<"cast rationnel";
        return e->toRationnel();
    }
    else
    {   qDebug()<<"cast else";
        return e->toReel();
    }
}
コード例 #2
0
bool Calculatrice::isConstante(const QString& s) const{
    if (isEntier(s) || isReel(s) || isRationnel(s) || isComplexe(s)) {
        return true;
    }
    return false;
}