package av2010;

/**
 * 
 * @author lombardy
 *
 * Exercice 6
 */

public class Composition extends OperateurBinaire implements Fonction{

	public Composition(Fonction first, Fonction second) {
		super(first, second);
	}

	@Override
	public Fonction derivee() {
		return new Produit(new Composition(getFirst().derivee(), getSecond()),
				         getSecond().derivee());
	}

	@Override
	public double evalue(double x) {
		return getFirst().evalue(getSecond().evalue(x));
	}

	@Override
	public void setNomVariable(String var) {
		getSecond().setNomVariable(var);
	}

	@Override
	public String toString(){
		getFirst().setNomVariable("("+getSecond()+')');
		String s=getFirst().toString();
		getFirst().setNomVariable("X");
		return s;
	}
}
