teoria Flashcards
Czym jest zmienna?
Jest to wielkość mogąca przechowywać wartość należącą do pewnego zbioru (typu danych).
Jest jednoznacznie identyfikowana przez nadaną nazwę.
Musi być zadeklarowana przed użyciem - należy nadać jej nazwę i przypisać typ danych
Czym jest tablica?
Jest to złożona struktura danych tego samego typu.
Liczba elementów ograniczona jest przez rozmiar.
Rozmiar tablicy musi być stałą, znaną w trakcie kompilacji programu.
Indeksowanie zaczyna się od 0.
Nazwa jest równocześnie adresem zerowego elementu.
Elementy składowe klasy
Zmienne składowe - dane różnych typów (podstawowe/zdefiniowane przez użytkownika)
Funkcje składowe - dla operowania na tych danych ^
Specyfikatory dostępu
Public, private, protected
(domyślnie jest private)
Konstruktor
Jest to funkcja składowa o takiej samej nazwie jak klasa.
Konstruktor domniemany
Może być wywoływany bez argumentów
Konstruktor wieloargumentowy
Posiada argumenty XD
Punkt :: Punkt (int x, int y, char a)…
Konstruktor kopiujący
Może być wywołany z 1 argumentem, będącym referencją do danej klasy
Punkt :: Punkt(const Punkt &p)…
Destruktor
Funkcja składowa wywoływana gdy obiekt jest niszczony
Punkt :: ~Punkt()
Funkcja zaprzyjaźniona
Nie jest składnikiem klasy, jest to zewnętrzna osobna funkcja, która posiada dostęp do wszystkich składników klasy.
Dziedziczenie
Stanowi rozszerzenie wcześniej zaimplementowanej klasy.
Klasa bazowa - klasa po której się dziedziczy,
Klasa pochodna - klasa która dziedziczy po bazowej,
“:” - wskazuje, że klasa wywodzi się od wcześniej zadeklarowanej klasy bazowej
class Pochodna : specyfikator_dostepu Bazowa
Polimorfizm
Wielopostaciowość wskaźników
Aby definiowana klasa była polimorficzna, wystarczy aby choć jedna jej metoda była wirtualna
Metody wirtualne
Metoda która zastępuje siebie przez nową wersję, zdefiniowaną w klasie pochodnej
Funkcja wirtualna
Zdefiniowana w klasie bazowej, nie musi być redefiniowana w klasie pochodnej => przy wywołaniu korzysta się z klasy bazowej
Funkcja czysto wirtualna
Gdy funkcja wirtualna nie wykonuje żadnego działania w funkcji bazowej, można zdefiniować ją jako czysto wirtualną.
Klasę, która ma przynajmniej jedną funkcję czysto wirtualną nazywamy klasą abstrakcyjną.
Nie istnieje ciało funkcji dla klasy bazowej
Wymusza redefinicje funkcji czysto wirtualnej w klasie pochodnej.
przyklad: virtual typ nazwa(parametry) = 0;