Statická proměnná v třídě je proměnná, která je sdílena mezi všemi instancemi třídy.
Existuje pouze jedna kopie statické proměnné, bez ohledu na to, kolikrát byla třída instancována.
Syntax:
Inicializace:
Statické proměnné musí být inicializovány mimo tělo třídy
Vlastnosti a použití:
Sdílení mezi instancemi: Všechny instance třídy sdílejí stejnou kopii statické proměnné.
Přístup bez instance: Ke statickým proměnným můžeme přistupovat přímo přes název třídy, aniž by byla vytvořena instance třídy.
Omezený přístup: Statické metody nemají přístup k instančním členům třídy (proměnným nebo metodám).
Použití: Statické členy jsou často používány pro účely, které souvisejí s třídou jako celkem, např. pro sledování počtu instancí třídy nebo pro poskytování utilitárních funkcí, které nevyžadují přístup k instančním datům.
Statické metody v C++ jsou metody, které mohou být volány na třídu, aniž by byla vytvořena instance této třídy.
Tyto metody nemají přístup k instančním proměnným nebo metodám, protože nejsou vázány k žádné konkrétní instanci třídy.
Statické metody mají přístup pouze ke statickým atributům třídy.
Syntax:
Statické metody jsou deklarovány a definovány podobně jako běžné metody, ale s použitím klíčového slova static.
Volání statické metody:
Statické metody jsou volány pomocí názvu třídy, nikoli pomocí instance třídy.
Příklad:
Vlastnosti:
Nemají přístup k instančním členům: Statické metody nemají přístup k instančním atributům nebo metodám třídy, ale mají přístup k ostatním statickým atributům.
Nezávislé na instancích: Statické metody mohou být volány i když neexistuje žádná instance třídy.
Používání v kontextu třídy: Statické metody jsou často používány pro operace, které jsou relevantní pro třídu jako celek, nikoli pro konkrétní instanci.
Příklad: