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(); } }
bool Calculatrice::isConstante(const QString& s) const{ if (isEntier(s) || isReel(s) || isRationnel(s) || isComplexe(s)) { return true; } return false; }