public void ImprimeDivisao(Divisao divisao) { Console.Write("("); Console.Write("/"); Console.Write(" "); divisao.Esquerda.Aceita(this); Console.Write(" "); divisao.Direita.Aceita(this); Console.Write(")"); }
private void testaImpressoraVisitor() { RaizQuadrada raizQuadrada = new RaizQuadrada(new Numero(81)); IVisitor visitor1 = new ImpressoraVisitor(); visitor1.ImprimeRaizQuadrada(raizQuadrada); Console.WriteLine(); Console.WriteLine(raizQuadrada.Avalia()); Console.WriteLine(); Multiplicacao multiplicacao = new Multiplicacao((new Subtracao(new Numero(50), new Numero(45))), new Numero(30)); IVisitor visitor2 = new ImpressoraVisitor(); visitor2.ImprimeMultiplicacao(multiplicacao); Console.WriteLine(); Console.WriteLine(multiplicacao.Avalia()); Console.WriteLine(); Divisao divisao = new Divisao((new Subtracao(new Numero(50), new Numero(50))), new Numero(30)); IVisitor visitor3 = new ImpressoraVisitor(); visitor3.ImprimeDivisao(divisao); Console.WriteLine(); Console.WriteLine(divisao.Avalia()); }