„Prog2 2. ZH kikérdező” változatai közötti eltérés
Prog2 új 2. ZH kikérdező |
a még több kérdés és javítások |
||
| (4 közbenső módosítás ugyanattól a felhasználótól nincs mutatva) | |||
| 1. sor: | 1. sor: | ||
{{Vissza|Programozás alapjai II.}} | {{Vissza|Programozás alapjai II.}} | ||
{{Kvízoldal | {{Kvízoldal | ||
|cím=Prog2 2. ZH | |cím=Prog2 2. ZH kikérdező | ||
|pontozás=}} | |pontozás=}} | ||
| 11. sor: | 11. sor: | ||
# Gyakran előforduló problémák általános, újrafelhasználható megoldása. | # Gyakran előforduló problémák általános, újrafelhasználható megoldása. | ||
== Mi az adapter tervezési minta lényege? == | |||
{{kvízkérdés|típus=egy|válasz=2}} | |||
# Grafikus elem: a taskbar-hoz való illesztést végzi. | |||
# Lehetővé teszi két nem kompatibilis osztály együttműködését. | |||
# Örökbefogadás modellezésére szolgál. | |||
# Objektumorientált programozás alapelve. | |||
== Mi a funktor? == | |||
{{kvízkérdés|típus=egy|válasz=3}} | |||
# Objektumorientált programozás alapelve. | |||
# Funkcionális programozás alapelve. | |||
# Függvényként használható objektum. | |||
# Grafikus elem: Funkcionális tortadiagram. | |||
== Jelölje, hogy mely kijelentés(ek) igaz(ak)a C++ nyelvre! == | == Jelölje, hogy mely kijelentés(ek) igaz(ak) a C++ nyelvre! == | ||
{{kvízkérdés|típus=több|válasz=1,3 | {{kvízkérdés|típus=több|válasz=1,3}} | ||
# A sablon feldolgozása fordítási időben történik. | # A sablon feldolgozása fordítási időben történik. | ||
# A try catch blokkban deklarált objektumokat a blokk után explicit módon meg kell szüntetni. | # A try catch blokkban deklarált objektumokat a blokk után explicit módon meg kell szüntetni. | ||
# A destruktor mindig meghívja a közvetlen ősosztály destruktorát, ha nincs virtuális öröklés. | # A destruktor mindig meghívja a közvetlen ősosztály destruktorát, ha nincs virtuális öröklés. | ||
# Statikus tagfüggvény nem lehet inline. | # Statikus tagfüggvény nem lehet inline. | ||
== Jelölje, hogy mely kijelentés(ek) igaz(ak) a C++ nyelvre! == | |||
{{kvízkérdés|típus=több|válasz=1,2}} | |||
# C++-ban lehet függvényt balértékként használni. | # C++-ban lehet függvényt balértékként használni. | ||
# Sablonnak lehet sablonparamétere is. | |||
# Az implicit értékadó operátor nem hívja meg az ősosztály értékadó operátorát, ezért örökléskor mindig kell értékadó operátort deklarálni. | |||
# Konstruktor nem dobhat kivételt. | |||
== Jelölje, hogy mely kijelentés(ek) igaz(ak) a C++ nyelvre! == | |||
{{kvízkérdés|típus=több|válasz=2,3}} | |||
# A dynamic_cast hiba esetén mindig kivételt dob. | |||
# Az STL asszociatív tárolói rendezetten tárolnak. | |||
# A const_iterator értéke megváltoztatható, csak az adat nem változtatható meg, amire az iterátor hivatkozik. | |||
# A perzisztens objektum állapota állandó, azaz az állapota nem változtatható meg. | |||
== Jelölje, hogy mely kijelentés(ek) igaz(ak) a C++ nyelvre! == | |||
{{kvízkérdés|típus=több|válasz=3}} | |||
# Az adapter tervezési minta csak örökléssel valósítható meg. | |||
# A kivételosztályokat kötelező az std::exception osztályból származtatni. | |||
# Referencia típusú, nem statikus tagváltozó csak inicializáló listán inicializálható paraméterként átadott értékkel. | |||
# Az objektumok szerializációját a C++ automatikusan biztosítja, csupán a Serializable osztályból kell származtatni. | |||
== Melyik állítás igaz? == | |||
{{kvízkérdés|típus=egy|válasz=4}} | |||
# Egy osztály privát adatát közvetlenül csak a tagfüggvények érhetik el. | |||
# Egy osztály privát adatát közvetlenül csak a tagfüggvények és a leszármazott osztályok tagfüggvényei érhetik el. | |||
# Egy osztály privát adatát csak a leszármazott osztályok tagfüggvényei érhetik el. | |||
# Egy osztály privát adatát közvetlenül csak a tagfüggvények és a barát függvények érhetik el. | |||
== Adott a következő deklaráció: == | |||
<pre style="font-family:monospace;font-size: larger"> | |||
const char *p; | |||
</pre> | |||
=== Igaz, vagy hamis? === | |||
p pointerrel elérhető memóriaterület nem változtatható meg. | |||
{{kvízkérdés|típus=egy|válasz=1}} | |||
# Igaz | |||
# Hamis | |||
== Adott a következő kódrészlet: == | |||
<pre style="font-family:monospace;font-size: larger"> | |||
int a1 = 1; int b1 = 2; | |||
int &tmp = a1; | |||
a1 = b1; | |||
b1= tmp; | |||
</pre> | |||
=== A kódrészlet lefutása után melyik állítás helyes? === | |||
{{kvízkérdés|típus=egy|válasz=4}} | |||
# a1 == 1 és b1 == 2 | |||
# a1 == 2 és b1 == 1 | |||
# a1 == 1 és b1 == 1 | |||
# a1 == 2 és b1 == 2 | |||
== Adott a következő deklaráció: == | == Adott a következő deklaráció: == | ||
| 46. sor: | 113. sor: | ||
# A kódrészlet hibás pa változó nem kaphat értékül B objektumra mutató pointert. | # A kódrészlet hibás pa változó nem kaphat értékül B objektumra mutató pointert. | ||
== Adott a következő deklaráció: == | |||
<pre style="font-family:monospace;font-size: larger"> | |||
struct A { | |||
virtual void foo() { | |||
std::cout << "A\n"; | |||
} | |||
void bar() { foo(); } | |||
}; | |||
struct B : public A { | |||
void foo() { | |||
std::cout << "B\n"; | |||
} | |||
}; | |||
</pre> | |||
=== Mit ír ki a következő kódrészlet? === | |||
<pre style="font-family:monospace;font-size: larger"> | |||
A* pa = new B; | |||
pa->A::foo(); | |||
</pre> | |||
{{kvízkérdés|típus=egy|válasz=1}} | |||
# A | |||
# A kódrészlet hibás pa változó nem kaphat értékül B objektumra mutató pointert. | |||
# B | |||
| 73. sor: | 165. sor: | ||
# A kódrészlet hibás, mert a B osztálynak nincs bar() tagfüggvénye. | # A kódrészlet hibás, mert a B osztálynak nincs bar() tagfüggvénye. | ||
# B | # B | ||
== Adott a következő deklaráció: == | == Adott a következő deklaráció: == | ||
| 92. sor: | 182. sor: | ||
# Az 5. sor hibás, mert konstans tagfüggvény nem módosíthatja az objektum állapotát. | # Az 5. sor hibás, mert konstans tagfüggvény nem módosíthatja az objektum állapotát. | ||
# Az 5. sor hibás, mert nem lehet referencia típusú konstans függvény. | # Az 5. sor hibás, mert nem lehet referencia típusú konstans függvény. | ||
== C++ nyelvben a konstruktor lehet: == | |||
{{kvízkérdés|típus=több|válasz=2,3,7}} | |||
# statikus konstruktor | |||
# paraméter nélkül hívható, vagy default konstruktor | |||
# egy vagy több paraméterrel hívható konstruktor | |||
# konstans konstruktor | |||
# virtuális konstruktor | |||
# értékadó konstruktor | |||
# másoló konstruktor | |||
# funkcionális konstruktor | |||