WorksheetsProg2 Coggle
Total questions: 36
Worksheet time: 18mins
Melyik a C++ program belépési pontja, amelyet a rendszer hív meg futáskor?
init() függvény definíciója
bootstrap() eljárás kezdete
start() metódus hívása
main() függvény definíciója
Melyik main aláírás hordozza a parancssori argumentumok számát és értékeit C++-ban?
int main() szabványos forma
auto main(auto args) sablon
int main(int argc, char* argv[])
void main() régi változat
Mi különbözteti meg a header fájlt a forrás fájltól C++-ban?
Header bináris, forrás szöveges tartalom
Header deklarációk, forrás definíciók
Header .cpp, forrás .hpp kiterjesztés
Header futtatható, forrás könyvtári kód
Melyik példa ír le definiálatlan viselkedést C++-ban?
Egész típus túlcsordulása kétkomplementen
Megfelelő típuskonverzió explicit casttal
Nullpointer dereferálása bármely környezetben
Határon belüli tömbhozzáférés biztosítva
Mit csinál a C++ előfeldolgozó a fordítási folyamatban?
Memóriakezelést végez futásidőben
Makrókat bővít és include-okat illeszt
Optimalizálja a gépi kód utasításait
Futtatja a program main függvényét
Melyik állítás igaz a kommentekre C++-ban?
Fordításkor futtatható metaadatok
Előfeldolgozó törli őket végleg
Linker átírja a jelentésüket
Runtime naplóba kerülnek automatikusan
Melyik állítás írja le helyesen a private és public tagok közti különbséget egy osztályban?
private tagok csak az osztályon belül érhetők el
private tagok örökléskor automatikusan válnak protecteddé
public tagok nem példányokhoz, csak statikusan érhetők el
public tagok csak barát osztályokból érhetők el
Mi a this mutató elsődleges szerepe tagfüggvényekben?
Az ősosztály első példányára mutat
Az osztály statikus tagjára mutat
Az aktuális objektumra mutat
Az aktuális névteret azonosítja
Melyik kifejezés igaz konstans tagfüggvényekre?
Mindig inline fordítódnak
Csak privát láthatóságúak lehetnek
Csak statikus tagokat érhetnek el
Nem módosíthatják a tagállapotot
Melyik állítás helyes az inicializálási listákról a konstruktorban?
Tagokat létrehozáskor, deklarált sorrendben inicializálnak
Tagokat testben, tetszőleges sorrendben állítanak be
Mindig későbbi futási időben hajtódnak végre
Csak primitív típusokra alkalmazhatók
Adott osztályban a tagok deklarálási sorrendje A, B, C. Melyik sorrendben inicializálódnak az inicializálási listában?
Az írt lista szerinti tetszőleges
C, majd B, majd A
A, majd B, majd C
Random, fordítófüggő
Mi a konstruktor delegálás célja C++-ban?
Öröklési hierarchia lecserélése
Destruktorok automatikus láncolása
Virtuális függvények elrejtése
Közös inicializálási logika újrafelhasználása
Melyik példakód fejezi ki helyesen a delegáló konstruktort?
ClassX(int a): ClassX(){ }
ClassX(): ClassX(0) { }
ClassX(int a){ ClassX(); }
ClassX(): this(0) { }
Melyik állítás igaz konstans objektumokra és const tagfüggvényekre?
Const objektum csak const tagfüggvényeket hívhat
Const objektum nem példányosítható
Const tagfüggvények visszatérési értéke mindig const
Const objektum bármely függvényt hívhat
Mi a virtuális függvény elsődleges célja objektumorientált nyelvekben?
Osztályok példányosításának megakadályozása
Memóriakezelés automatizálása fordításkor
Privát adattagok láthatóvá tétele kívülről
Dinamikus kötés engedélyezése futásidőben
Mit jelent az override kulcsszó használata egy leszármazott osztályban?
Bázisosztály konstruktorának tiltása globálisan
Metódus túlterhelése más paraméterekkel
Statikus tag újradefiniálása másik névtérben
Bázisfüggvény felülírása kompatibilis szignatúrával
Mi történik objektumszeleteléskor, amikor egy leszármazott objektumot érték szerint egy bázisosztály változóba másolsz?
Az egész objektum mélyen másolódik változatlanul
A leszármazott rész elveszik, csak bázis rész marad
A példány hivatkozássá alakul automatikusan
A virtuális táblák duplikálódnak futás közben
Melyik állítás igaz az absztrakt osztályokra?
Példányosíthatók, ha minden metódus publikus
Nem örökölhetők további leszármazottak által
Nem rendelkezhetnek konstruktortörzzsel soha
Legalább egy tisztán virtuális függvényt tartalmaznak
Mi a különbség a statikus és dinamikus kötés között?
Statikus: csak interfészeknél, dinamikus: csak sablonoknál
Statikus: futáskor, dinamikus: fordításkor
Statikus: fordításkor, dinamikus: futáskor
Statikus: mindig lassabb, dinamikus: mindig gyorsabb
Mikor aktiválódik a dinamikus polimorfizmus?
Virtuális metódus hívásakor bázisreferencián
Konstruktor hívásakor bármely osztályban
Statikus metódus meghívásakor leszármazottból
Sablonfüggvény fordítási idejű példányosításakor
Mit eredményez egy tisztán virtuális (pure virtual) függvény deklarálása?
A bázis automatikusan implementációt generál
Az osztály absztrakttá válik és nem példányosítható
A függvény mindig inline módon fordul
A metódus csak privát lehet és végleges
Hogyan kerülhető el az objektumszeletelés érték szerinti hozzárendeléskor?
Használj referenciát vagy mutatót bázistípusra
Használj nagyobb pufferű memóriakiosztást
Állítsd a metódusokat nem-virtuálisra kifejezetten
Alkalmazz másoló konstruktor tiltást explicit
Melyik kódminta biztosítja a helyes override-t C++-ban?
class B{virtual void f() const;}; class D:B{void f() override;};
class B{virtual void f();}; class D:B{void f() override;};
class B{void f();}; class D:B{void f() override;};
class B{virtual void f(int);}; class D:B{void f(double) override;};
Melyik állítás helyes a vptr/vtable mechanizmusról?
Memóriamenedzsmentet végez garbage collectorral
Virtuális hívás irányítására szolgál futásidőben
Fordítási idejű sablon specializációt vezérel
Csak statikus metódusokhoz tartozik minden osztályban
Melyik állítás igaz a stack és heap allokáció közti különbségre C++-ban?
A stack automatikus élettartamú, a heap manuális felszabadítású
A stack allokáció mindig lassabb, a heap mindig gyorsabb
A stacken csak pointerek lehetnek, a heapen csak értékek
A stack dinamikus méretű, a heap mindig fix méretű
Melyik párosítás helyes a C++ memóriakezelésnél?
new ↔ free; malloc ↔ delete
new ↔ release; malloc ↔ destroy
new ↔ delete; malloc ↔ free
new ↔ dealloc; malloc ↔ dispose
Mi a destruktor elsődleges felelőssége egy osztályban?
Erőforrások felszabadítása determinisztikusan
Tagfüggvények túlterhelése futásidőben
Példányok számlálása globális változóval
Sablonparaméterek dedukálása fordításkor
Mikor célszerű std::unique_ptr használata?
Nyers pointerek cseréje C stílusú API-hoz
Automatikus másolás több konténer között
Megosztott tulajdonlás, ciklikus referenciák kezelése
Exkluzív tulajdonlás, egyetlen felelős példány
Melyik állítás igaz az std::shared_ptr-re?
Referenciaszámlálással kezeli a megosztott tulajdont
Automatikusan megszünteti a körkörös hivatkozásokat
Mindig gyorsabb, mint a unique_ptr minden esetben
Nem szálbiztos és nem használható több szálban
Válaszd ki a helyes eljárást: egy malloc-kal foglalt blokk felszabadítása C++ kódban.
free pointer hívása pontosan egyszer
delete[] pointer hívása minden esetben
Nem kell felszabadítani, a runtime megteszi
delete pointer hívása többször egymás után
Adott két osztály, A és B, amelyek egymásra mutatnak. Hogyan előzhető meg shared_ptr-rel a ciklikus referencia okozta memória-szivárgás?
Mindkét irányban nyers pointerek alkalmazása
Az egyik irányban delete manuális hívása
Mindkét irányban std::unique_ptr használata
Az egyik irányban gyenge hivatkozás, std::weak_ptr
Melyik állítás igaz a std::string indexelésére a [] és at() használatával?
at() visszaadja const char*, [] visszaadja char* mutatót
[] mindig gyorsabb, at() mindig lassabb minden helyzetben
[] és at() egyaránt kivételt dob túlindexeléskor
[] nem végez ellenőrzést, at() határ-ellenőrzést végez
Mit ad vissza a find függvény, ha a keresett minta nem található a std::string-ben?
false logikai értéket
nullptr mutatót
-1 egész számot
std::string::npos értéket
Melyik hívás alakít át egy egész számot std::stringgé biztonságosan?
printf("%d", 42)
std::stoi("42")
std::string(42)
std::to_string(42)
Miben különbözik a find_first_of a find-től?
find_first_of csak a string elején keres mintát
find_first_of visszatérési típusa eltérően bool
find_first_of teljes részszöveget keres pontos egyezéssel
find_first_of bármelyik megadott karakter első előfordulását keresi
Melyik megközelítés a legbiztonságosabb karakter elérésére és hibakezelésére, ha index túlfutás lehetséges?
at() használata és kivétel kezelése try-catch blokkban
[] használata és reménykedni, hogy érvényes az index
c_str() meghívása és pointer aritmetika
[] használata és ellenőrizni, hogy nem dob kivételt
