Wyjasnienie paru banalnych rzeczy, obiektowe

0

Witam dopiero zaczynam programowac i chciałbym się zapytac parę banalnych rzeczy tylko prosze nie odsylajcie mnie do wujka google jeśli nie chcecie udzielac odpowiedzi to nie jesli tak to bede wdzięczny, dlaczego w danym programie jest zamiana z małych liter na duże??? do czego sluzy konstruktor??, wiem ze ma taka sama nazwe jak klasa, czy void wypisz() różni sie czyms od void wyswietl()??? czy to tylko nazwy metody?

class Osobowe : public Auto
{     
    public:
    string kolor;
    string model;
    string przebieg;
   
       Osobowe(string ROK_PRODUKCJI, string TAB_REJESTR, string MARKA, string KOLOR, string MODEL, string PRZEBIEG) 
   {  
        rok_produkcji=ROK_PRODUKCJI;
        tab_rejestr=TAB_REJESTR;
        marka=MARKA;
        kolor= KOLOR;
        model=MODEL;
        przebieg=PRZEBIEG;
        }
    void wyswietl()
    {
    cout << " Rok produkcji: " << rok_produkcji << endl <<" Tablica rejestracyjna: " << tab_rejestr << endl;
    cout << " Marka: " << marka << endl << " Kolor: " << kolor << endl;
    cout << " Model: " << model << endl << " Przebieg: " << przebieg << endl <<endl; 
    }
};

class Ciezarowe : public Auto//dziedziczenie funkcji//
{
    public:
    string zbiornik;
    string ciezar;
    string il_osi;
    
    Ciezarowe(string ROK_PRODUKCJI, string TAB_REJESTR, string MARKA, string ZBIORNIK, string CIEZAR, string IL_OSI) 
    {       
        rok_produkcji=ROK_PRODUKCJI;
        tab_rejestr=TAB_REJESTR;
        marka=MARKA;
        zbiornik=ZBIORNIK;
        ciezar=CIEZAR;
        il_osi=IL_OSI;

    }
    void wyswietl()
    {
    cout <<  " Rok produkcji: " << rok_produkcji << endl <<" Tablica rejestracyjna: " << tab_rejestr << endl;
    cout << " Marka: " << marka << endl << " zbiornik: " << zbiornik << endl;
    cout << " Ciezar: " << ciezar << endl << " Ilosc osi: " << il_osi << endl << endl;



  fstream file;
	file.open("baza.txt",ios::in);
    if (file.good() == true)
{ i czy ktos mógby mi wyjasnic te trzy liniki powyzej z góry dzięki za poswiecenie ; D
    }
0

Konstruktor jak sama nazwa wskazuje służy do konstruowania obiektów - jest wywoływany w momencie tworzenia nowej instancji klasy. W tym wypadku jedyne co robi to ustawia odpowiednie pola w klasie na wartości przekazane do konstruktora.

Te "trzy linijki" są związane z deklaracją strumienia do pliku, otwarciem pliku i sprawdzeniem czy udało się ten plik otworzyć.

Co do nie odsyłania do google to się nie obejdzie. Choćby dlatego, że zagadnienie konstruktora jest zbyt szerokie, żeby to opisywać w poście na forum, a kursów i artykułów na ten temat jest multum. Nikt nie będzie pisał postów na kilkanaście/kilkadziesiąt stron. Podobnie jest w kwestii obsługi IO(in/out - wejścia/wyjścia) z plikami oraz metod.

Nie ma tu nigdzie zamiany dużych liter na małe czy vice versa. Zmienna rok_produkcji a ROK_PRODUKCJI to dwie różne zmienne. Jedna jest zmienną składową obiektu, a druga jest przekazywana do konstruktora.

Komentarz //dziedziczenie funkcji// też nie jest do końca zgodny z prawdą - dziedziczy się zarówno metody jak i pola(atrybuty/zmienne składowe).

Jeżeli masz takie pytania i problemy to albo je bardziej sprecyzuj, albo cofnij się, bo zajmowanie się dziedziczeniem bez opanowania wcześniejszych zagadnień jest skazane na porażkę.

//umieszczaj kod w znacznikach(w tym wypadku <code class="cpp"></code>) i takie pytania to raczej dział Newbie

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.