Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Erro Herança : Não há nenhum argumento fornecido que corresponde ao parâmetro formal necessário

Olá,

Eu estava tentando fazer com que uma classe herdasse os métodos e propriedades de outra, mas apareceu esse erro:

Não há nenhum argumento fornecido que corresponde ao parâmetro formal necessário "nome" de "Conta.Conta(string, int, double)"

No meu caso eu queria fazer ContaPoupanca herdar de Conta.

Conta:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Banco
{

    class Conta
    {
        // Propriedades da Conta

        private string no;
        public string Nome
        {
            get
            {
                return this.no;
            }
            protected set
            {
                this.no = value;
            }
        }

        private int id;
        public int IdConta
        {
            get
            {
                return this.id;
            }
            protected set
            {
                this.id = value;
            }
        }

        private double sa;
        public double Saldo
        {
            get
            {
                return this.sa;
            }
            protected set
            {
                this.sa = value;
            }
        }

        // Construtor

        public Conta(string nome, int id, double saldo)
        {
            this.IdConta = id;
            this.Nome = nome;
            this.Saldo = saldo;
        }


        // Métodos

        public virtual void Saque(double valor)
        {
            this.Saldo -= valor;
        }

        public virtual void Deposito(double valor)
        {
            this.Saldo += valor;
        }
    }
}

ContaPoupanca:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Banco
{
    class ContaPoupanca : Conta
    {
    }
}

Agradeço a ajuda.

2 respostas

Opa, você precisa declarar o construtor com argumentos na classe filha também. Pelo menos eu acho.

solução!

http://gabsferreira.com/construtores-sao-herdados-no-csharp/

É como o alberto-souza disse. o construtor não é herdado pelas classes filhas, da uma olha nesse link que explica melhor como funciona