„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.
