„Prog2 2. ZH kikérdező” változatai közötti eltérés
A VIK Wikiből
Prog2 új 2. ZH kikérdező |
a Kimaradt kérdés |
||
19. sor: | 19. sor: | ||
# Statikus tagfüggvény nem lehet inline. | # Statikus tagfüggvény nem lehet inline. | ||
# C++-ban lehet függvényt balértékként használni. | # C++-ban lehet függvényt balértékként használni. | ||
== Adott a következő deklaráció: == | |||
<pre style="font-family:monospace;font-size: larger"> | |||
const char *p; | |||
</pre> | |||
=== Igaz, vagy hamis?<br> | |||
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ő deklaráció: == | == Adott a következő deklaráció: == | ||
45. sor: | 55. sor: | ||
# B | # B | ||
# 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. | ||
73. sor: | 82. 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ó: == |
A lap 2021. május 15., 17:39-kori változata
Mi a tervezési minta?
- Ismétlődő kódrészlet.
- Objektumorientált programozás alapelve.
- Grafikus elem: a háttér grafikus mintázata.
- Gyakran előforduló problémák általános, újrafelhasználható megoldása.
Jelölje, hogy mely kijelentés(ek) igaz(ak)a C++ nyelvre!
- 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 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.
- C++-ban lehet függvényt balértékként használni.
Adott a következő deklaráció:
const char *p;
=== Igaz, vagy hamis?
p pointerrel elérhető memóriaterület nem változtatható meg. ===
- Igaz
- Hamis
Adott a következő deklaráció:
struct A { virtual void foo() { std::cout << "A\n"; } void bar() { foo(); } }; struct B : public A { void foo() { std::cout << "B\n"; } };
Mit ír ki a következő kódrészlet?
A* pa = new B; pa->foo();
- A
- B
- A kódrészlet hibás pa változó nem kaphat értékül B objektumra mutató pointert.
Adott a következő deklaráció:
struct A { virtual void foo() { std::cout << "A\n"; } void bar() { foo(); } }; struct B : public A { void foo() { std::cout << "B\n"; } };
Mit ír ki a következő kódrészlet?
B b; b.bar();
- A
- A kódrészlet hibás, mert a B osztálynak nincs bar() tagfüggvénye.
- B
Adott a következő deklaráció:
class A { int a; public: A() : a(0) {} // 4. sor int &inc() const { return a++; } // 5. sor };
Melyik állítás igaz?
- A 4. sor hibás, mert inicializáló listán csak objektum szerepelhet. Az a adattag pedig nem objektum.
- Az 5. sor hibás, mert privát adat referenciáját nem lehet képezni.
- 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.