Prog2 2. ZH kikérdező

A VIK Wikiből


Prog2 2. ZH kikérdező
Statisztika
Átlagteljesítmény
-
Eddigi kérdések
0
Kapott pontok
0
Alapbeállított pontozás
()
-
Beállítások
Minden kérdés látszik
-
Véletlenszerű sorrend
-
-


Mi a tervezési minta?

Típus: egy. Válasz: 4. Pontozás: nincs megadva.

  1. Ismétlődő kódrészlet.
  2. Objektumorientált programozás alapelve.
  3. Grafikus elem: a háttér grafikus mintázata.
  4. Gyakran előforduló problémák általános, újrafelhasználható megoldása.

Mi az adapter tervezési minta lényege?

Típus: egy. Válasz: 2. Pontozás: nincs megadva.

  1. Grafikus elem: a taskbar-hoz való illesztést végzi.
  2. Lehetővé teszi két nem kompatibilis osztály együttműködését.
  3. Örökbefogadás modellezésére szolgál.
  4. Objektumorientált programozás alapelve.

Mi a funktor?

Típus: egy. Válasz: 3. Pontozás: nincs megadva.

  1. Objektumorientált programozás alapelve.
  2. Funkcionális programozás alapelve.
  3. Függvényként használható objektum.
  4. Grafikus elem: Funkcionális tortadiagram.

Jelölje, hogy mely kijelentés(ek) igaz(ak) a C++ nyelvre!

Típus: több. Válasz: 1,3. Pontozás: nincs megadva.

  1. A sablon feldolgozása fordítási időben történik.
  2. A try catch blokkban deklarált objektumokat a blokk után explicit módon meg kell szüntetni.
  3. A destruktor mindig meghívja a közvetlen ősosztály destruktorát, ha nincs virtuális öröklés.
  4. Statikus tagfüggvény nem lehet inline.

Jelölje, hogy mely kijelentés(ek) igaz(ak) a C++ nyelvre!

Típus: több. Válasz: 1,2. Pontozás: nincs megadva.

  1. C++-ban lehet függvényt balértékként használni.
  2. Sablonnak lehet sablonparamétere is.
  3. 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.
  4. Konstruktor nem dobhat kivételt.

Jelölje, hogy mely kijelentés(ek) igaz(ak) a C++ nyelvre!

Típus: több. Válasz: 2,3. Pontozás: nincs megadva.

  1. A dynamic_cast hiba esetén mindig kivételt dob.
  2. Az STL asszociatív tárolói rendezetten tárolnak.
  3. A const_iterator értéke megváltoztatható, csak az adat nem változtatható meg, amire az iterátor hivatkozik.
  4. A perzisztens objektum állapota állandó, azaz az állapota nem változtatható meg.

Jelölje, hogy mely kijelentés(ek) igaz(ak) a C++ nyelvre!

Típus: több. Válasz: 3. Pontozás: nincs megadva.

  1. Az adapter tervezési minta csak örökléssel valósítható meg.
  2. A kivételosztályokat kötelező az std::exception osztályból származtatni.
  3. Referencia típusú, nem statikus tagváltozó csak inicializáló listán inicializálható paraméterként átadott értékkel.
  4. 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?

Típus: egy. Válasz: 4. Pontozás: nincs megadva.

  1. Egy osztály privát adatát közvetlenül csak a tagfüggvények érhetik el.
  2. 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.
  3. Egy osztály privát adatát csak a leszármazott osztályok tagfüggvényei érhetik el.
  4. 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ó:

const char *p;

Igaz, vagy hamis?

p pointerrel elérhető memóriaterület nem változtatható meg.

Típus: egy. Válasz: 1. Pontozás: nincs megadva.

  1. Igaz
  2. Hamis

Adott a következő kódrészlet:

int a1 = 1; int b1 = 2;
int &tmp = a1;
a1 = b1;
b1= tmp;

A kódrészlet lefutása után melyik állítás helyes?

Típus: egy. Válasz: 4. Pontozás: nincs megadva.

  1. a1 == 1 és b1 == 2
  2. a1 == 2 és b1 == 1
  3. a1 == 1 és b1 == 1
  4. a1 == 2 és b1 == 2

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();

Típus: egy. Válasz: 2. Pontozás: nincs megadva.

  1. A
  2. B
  3. 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?

A* pa = new B;
pa->A::foo();

Típus: egy. Válasz: 1. Pontozás: nincs megadva.

  1. A
  2. A kódrészlet hibás pa változó nem kaphat értékül B objektumra mutató pointert.
  3. B


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();

Típus: egy. Válasz: 3. Pontozás: nincs megadva.

  1. A
  2. A kódrészlet hibás, mert a B osztálynak nincs bar() tagfüggvénye.
  3. 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?

Típus: egy. Válasz: 3. Pontozás: nincs megadva.

  1. A 4. sor hibás, mert inicializáló listán csak objektum szerepelhet. Az a adattag pedig nem objektum.
  2. Az 5. sor hibás, mert privát adat referenciáját nem lehet képezni.
  3. Az 5. sor hibás, mert konstans tagfüggvény nem módosíthatja az objektum állapotát.
  4. Az 5. sor hibás, mert nem lehet referencia típusú konstans függvény.


C++ nyelvben a konstruktor lehet:

Típus: több. Válasz: 2,3,7. Pontozás: nincs megadva.

  1. statikus konstruktor
  2. paraméter nélkül hívható, vagy default konstruktor
  3. egy vagy több paraméterrel hívható konstruktor
  4. konstans konstruktor
  5. virtuális konstruktor
  6. értékadó konstruktor
  7. másoló konstruktor
  8. funkcionális konstruktor