Meu código está dando o seguinte erro:
Erro CS7036 Não há nenhum argumento fornecido que corresponde ao parâmetro formal necessário "numeroCPF" de "Designer.Designer(double, string)"
método Main:
using ByteBank.Funcionarios;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ByteBank
{
class Program
{
static void Main(string[] args)
{
Console.ReadLine();
}
public void CalcularBonificacao()
{
GerenciadorBonificacao gerenciadorBonificacao = new GerenciadorBonificacao();
Designer pedro = new Designer("833.222.048-39");
pedro.Nome = "Pedro";
Diretor roberta = new Diretor("159.753.398-04");
roberta.Nome = "Roberta";
Auxiliar igor = new Auxiliar("981.198.778-53");
igor.Nome = "Igor";
GerenteDeConta camila = new GerenteDeConta("326.985.628-89");
camila.Nome = "Camila";
}
}
}
Classe de Diretor:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ByteBank.Funcionarios
{
public class Diretor: Funcionario //quando colocar ":" quer dizer que herda da outra classe
{
public Diretor(double valorSalario ,string numeroCPF) : base(5000 , numeroCPF)//toda vez que criar um diretor
{
Console.WriteLine("Criando um diretor");
}
//public string Nome { get; set; }
//public string CPF { get; set; }
//public double Salario { get; set; }
//não precisa colocar isso porque já tem na classe funcionario
public override void AumentarSalario()
{
//base.AumentarSalario(); não é esse que queremos usar
Salario *= 1.15;//consigo acessar aqui porque está "protected" no Salario Funcionario
}
public override double GetBonificacao()//override deixa esse método sobreescrever a classe Funcionario
{
return Salario *0.5;
}
}
}
Antes o código funcionava e depois que colei o código da aula parou de funcionar. Se eu colocar o valor do Salário no construtor dos funcionários não dá erro. EX: se eu colocar no método Main -> Diretor roberta = new Diretor(5000, "159.753.398-04");