Complexe::Complexe(const QString& pRe, const QString& pIm){ if(typeLitteral(pRe)=="Entier") a = new Entier(pRe); else if(typeLitteral(pRe)=="Reel") a = new Reel(pRe); else if(typeLitteral(pRe)=="Rationnel"){ Rationnel* rat = new Rationnel(pRe); rat->simplifier(); if(rat->getDenumerateur()->getVal() == 1 || rat->getNumerateur()->getVal() ==0){ Entier* e = new Entier(rat->getNumerateur()->getVal()); a = e; } else{ a = rat; } } if(typeLitteral(pIm)=="Entier") b = new Entier(pIm); else if(typeLitteral(pIm)=="Reel") b = new Reel(pIm); else if(typeLitteral(pIm)=="Rationnel"){ Rationnel* rat = new Rationnel(pIm); rat->simplifier(); if(rat->getDenumerateur()->getVal() == 1 || rat->getNumerateur()->getVal() ==0){ Entier* e = new Entier(rat->getNumerateur()->getVal()); b = e; } else{ b = rat; } } }
Reel::Reel(Rationnel r){ float Num=(float)r.getNumerateur().getVal(); // Redondant le (float) ? float Denum=(float)r.getDenumerateur().getVal(); val=Num/Denum; }