Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

662
Visualizações
Herencia con constructor de clase base con parámetros.

Código sencillo:

 class foo { private int a; private int b; public foo(int x, int y) { a = x; b = y; } } class bar : foo { private int c; public bar(int a, int b) => c = a * b; }

Visual Studio se queja del constructor de bar :

Error CS7036 No se proporciona ningún argumento que corresponda al parámetro formal requerido x de foo.foo(int, int) .

¿Qué?

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

El problema es que la clase base foo no tiene un constructor sin parámetros. Entonces debe llamar al constructor de la clase base con parámetros del constructor de la clase derivada:

 public bar(int a, int b) : base(a, b) { c = a * b; }
over 4 years ago · Santiago Trujillo Relatório

0

Podría estar equivocado, pero creo que, dado que está heredando de foo, debe llamar a un constructor base. Dado que definió explícitamente el constructor foo para que requiera (int, int), ahora debe pasar eso a la cadena.

 public bar(int a, int b) : base(a, b) { c = a * b; }

Esto inicializará primero las variables de foo y luego podrá usarlas en la barra. Además, para evitar confusiones, recomendaría no nombrar los parámetros exactamente igual que las variables de instancia. Pruebe p_a o algo así, para que no maneje accidentalmente la variable incorrecta.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda