Problem z dziedziczeniem

0

Witam, mam problem z dziedziczeniem tzn. chce żeby klasa dziedziczyła mi zmienną i tablice z innej klasy. Jeżeli ustawie wszystko na public to nie musze używać dziedziczenia i działa. Chciałbym zrobić tak żeby przekazywało mi zmienną i tablice które są protected jednak nie wiem jak sobie poradzić z błędem. Dodam, że dopiero zaczynam programować obiektowo. Pozdrawiam.
błąd: Błąd CS7036 Nie podano argumentu odpowiadającego wymaganemu parametrowi formalnemu „introzmiar” elementu „Wypelnij.Wypelnij(int)”
kod: https://github.com/kompa14/program/blob/master/Program.cs

0

Chciałbym żeby rozmiar i Przedmioty z klasy Wypelnij były protected i działała metoda z klasy Wyswietl. Jeżeli rozmiar i Przedmioty sa public to działa a gdy zmienie na protected pojawia się błąd
błąd: Błąd CS7036 Nie podano argumentu odpowiadającego wymaganemu parametrowi formalnemu „introzmiar” elementu „Wypelnij.Wypelnij(int)”
kod:


namespace plecakdynamiczny
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("ilosc przedmiotow");
           
            int rozmiar = int.Parse(Console.ReadLine());
            Console.WriteLine("____________");
            Wypelnij wypelnij = new Wypelnij(rozmiar);
            Wyswietl wyswietl = new Wyswietl();
            wypelnij.WypelnijLosowo();
            wyswietl.WyswietlPrzedmioty();
            Console.ReadKey();
        }
    }


    public class Wypelnij
    {
        public Wypelnij(int introzmiar)
        {

            rozmiar = introzmiar;
            Przedmioty = new double[4, rozmiar];
        }
       public static int rozmiar;
       public static double[,] Przedmioty;
       public void WypelnijLosowo()
            {
                Random random = new Random();               
                for (int i = 0; i <= rozmiar-1; i++)
                    {
                      for (int j = 0; j <= rozmiar - 1; j++)
                        {
                          if (i == 0)
                            {
                                Przedmioty[0, j] = j;
                            }
                          else
                            {
                                Przedmioty[i, j] = random.Next(1, 5);
                            }
                        }
                    }
                }
    }
    public class Wyswietl:Wypelnij
    {
        int introzmiar = Wypelnij.rozmiar;
        public void WyswietlPrzedmioty()
        {
            for (int i = 0; i <= Wypelnij.rozmiar - 1; i++)
            {
                for (int j = 0; j <= Wypelnij.rozmiar - 1; j++)
                {

                    Console.WriteLine(Wypelnij.Przedmioty[i, j]);
                }
                Console.WriteLine("----");
            }
        }
    }
 }

0

Nie wywołujesz konstruktora klasy bazowej w klasie pochodnej. W ogóle te klasy nie powinny po sobie dziedziczyć.

0

To czy powinny dziedziczyć czy nie jest tutaj akurat nieistotne. Działa, dzieki za pomoc.

1 użytkowników online, w tym zalogowanych: 0, gości: 1