Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Total de Bonificação = 400

GerenciadorBonificação.cs:

public class GerenciadorBonificacao
    {

        private double _totalBonificacao;

        public void Registrar (Funcionario funcionario)
        {
            _totalBonificacao += funcionario.GetBonificacao();
        }
        public void Registrar(Diretor diretor)
        {
            _totalBonificacao += GetTotalBonificacao();
        }

        public double GetTotalBonificacao()
        {
            return _totalBonificacao;
        }
    }

Diretor.cs:

    //Dados Pessoais

        public double GetBonificacao()
        {
            return Salario;
        }

Funcionario.cs:

public class Funcionario
    {
        //Dados pessoais

        public double GetBonificacao()
        {

            return Salario * 0.10;
        }
    }

Program.cs

 static void Main(string[] args)
        {
            GerenciadorBonificacao gerenciador = new GerenciadorBonificacao();

            Funcionario carlos = new Funcionario();
            carlos.Nome = "Carlos";
            carlos.CPF = "456.456.456-45";
            carlos.Salario = 2000;

            gerenciador.Registrar(carlos);


            Diretor roberta = new Diretor();
            roberta.Nome = "Roberta";
            roberta.CPF = "890.890.890-89";
            roberta.Salario = 5000;

            gerenciador.Registrar(roberta);


            Console.WriteLine(carlos.Nome);
            Console.WriteLine(carlos.GetBonificacao());

            Console.WriteLine(roberta.Nome);
            Console.WriteLine(roberta.GetBonificacao());

            Console.WriteLine("Total de bonificações: " + gerenciador.GetTotalBonificacao());

            Console.ReadLine();
        }
    }

Ao final, o total de bonificação fica igual a 400, não 5200, por quê?

1 resposta
solução!

Olhei com mais calma e percebi que eu orecisava colocar um "diretor." antes do "GetBonificacao" e que não é "GetTotalBonificacao();" e sim "GetBonificacao".

public void Registrar(Diretor diretor)
        {
            _totalBonificacao += GetTotalBonificacao();
        }

O certo :

public void Registrar(Diretor diretor)
        {
            _totalBonificacao += dirator.GetBonificacao();
        }