Skip to content

Instantly share code, notes, and snippets.

@MrAnno
Last active October 10, 2020 22:18
Show Gist options
  • Save MrAnno/7b34b2e7d0b52681a4aa to your computer and use it in GitHub Desktop.
Save MrAnno/7b34b2e7d0b52681a4aa to your computer and use it in GitHub Desktop.
c++ beugró

Melyik értékadás szabályos az alábbi kód után?

int i = 10;
const int j = 15;
const int *p = &j;
  • p = *j; - j-t dereferálná
  • *p = i; - p által mutatott hely értékét módosítaná
  • p *= i; - szorzás
  • p = &i;

Mi a következő utasítás visszatérési értékének típusa? new int(3);

  • int*
  • void* - new mindig void*
  • int
  • int[3]

Mi az alábbi függvényhívás kimenete?

void f(int c)
{
	std::cout << c;
}

int a = 3;
int b = 4;

f((++b,a++));
  • fordítási hiba
  • 5
  • 3 - kiértékeli az elsőt, visszatér a másodikkal (postfix utána növeli)
  • 4

Melyek helyes template osztálydefiníciók az alábbiak közül?

  • template<class T> class A{};
  • template<bool F> class B{};
  • template<float G> class P{};
  • template<int G> class H{};
  • template<struct G> class O{};
  • template<Cica C> class G{};
  • template<Cica* C> class J{}; - külső szerkesztésű objektumokra pointer
  • template<typename T> class Y{};

Mi az alábbi függvényhívás kimenete?

int f(int c)
{
	std::cout << c;
	return c;
}

f( (f(3), f(4)) );
  • fordítási hiba
  • 344
  • 434
  • 343

Mit ad meg két pointer különbsége?

  • Folytonos tárterületen a két elem közti távolságot.
  • A két elem közti távolságot bájtokban mérve.

Az alábbi függvény deklarációk alapján melyik tagfüggvény hívható meg const Foo objektumon?

struct Foo
{
 virtual void a(const int i);
 const int& b(const int i);
 void c() const;
 const Foo& d(const Foo& f);
};
  • foo.b(12);
  • foo.c()
  • foo.d(foo);
  • foo.a(3);

Az alábbi példában a Foo f(5); konstruktor hívása után mennyi lesz f.b értéke?

struct Foo
{
 int a, b;
 Foo(int c):a(c*2),b(c*3) {}
};
  • 0
  • nemdefiniált
  • 10
  • 15

Mennyi a 0x11 konstans értéke?

  • 11
  • 9
  • 17
  • 3

Mennyi a 011 konstans értéke?

  • 11
  • 9
  • 17
  • 3

Mi a típusa a 5e2f literálnak?

  • int
  • ez nem szabályos konstans
  • float
  • double

Mi a típusa a 0xff konstansnak?

  • char*
  • double
  • int
  • float

Mi a problemája a preprocesszor használatának?

  • A preprocesszor implementació-specifikus.
  • Független a C++ nyelvtől, ezért nincs tekintettel a nyelvi szabályokra.
  • A Java programozási nyelv nem támogatja, ezért nem tudjuk együtt használni C++-t a Java-val.
  • Jelentősen növeli a futási időt.

Mi a csilagozott sorban meghívott művelet neve?

class Foo
{
...
};
Foo f;
Foo g = f; // (*)
  • copy konstruktor
  • default konstruktor
  • értékadó operátor
  • destruktor

Az alábbiak közül melyiket kötelező inicializálni az inicializáló listában?

  • az STL-es konténereket
  • a referenciákat
  • a pointereket
  • az összes adattagot

Mi lesz az a változó értéke a függvényhívás után?

int a = 1, b = 2;
void f(int* x, int* y)
{
    int t = *x;
    *x = *y;
    *y = t;
}

f(&a, &b);
  • semmi, fordítási hiba keletkezik
  • nem definiált
  • 1
  • 2

Mitől válik egy osztály absztrakttá?

  • A tagfüggvényeinek csak a deklarációja ismert.
  • Van tisztán virtuális tagfüggvénye.
  • Van bázisosztálya.
  • Van virtuális destruktora.

Az alábbiak közül melyik függvényhívással lehet ekvivalens az alábbi (csillaggal jelölt) operátorhívás?

class Matrix
{
// ...
};
Matrix a,b;
a + b; // (*)
  • b.operator+(a);
  • a.operator+(a,b);
  • operator+(a,b);
  • Matrix.operator+(a,b);

Melyik nem preprocesszor direktíva?

  • #else
  • #elif
  • #undef
  • #while

Melyik definíció az alábbiak közül

  • class MyClass;
  • int a[10];
  • extern int i;
  • struct MyStruct;

Melyik igaz az alábbiak közül?

  • Az automatikus változók a stack-en jönnek létre.
  • Az automatikus változók a statikus tárterületen jönnek létre.
  • Az automatikus változók a winchester-en jönnek létre.
  • Az automatikus változók a heap-en jönnek létre.

Adott az alábbi X típus és f függvény. Az f(x) függvény hívásakor az X típus melyik műveletét hajtjuk végre a paraméter átadásához?

class X
{
// ...
};

void f(X a)
{
// ...
}

X x;
  • Az X típus default konstruktorát.
  • Az X típus értékadó operátorát.
  • Nem hajtunk végre műveletet, mert x hivatkozás szerint adódik át.
  • Az X típus copy konstruktorát.

Az alábbi kódban a csillagozott helyen mi this-nek a típusa?

struct Foo
{
    void f()
    {
        // (*)
    }
};
  • const Foo*
  • Foo*
  • Foo&
  • void*

Az X::f() függvényhívás során mit ír ki a program?

int i = 1;
namespace X
{
    int i = 2;
    
    void f()
    {
        int a = i + 1;
        int i = ::i - 1;
        std::cout << a << ", " << i << std::endl;
    }
}
  • 3, 0
  • 2, 1
  • semmit, fordítási hiba keletkezik
  • 3, 2

Melyik igaz az alábbiak közül?

struct X
{
    X(int i = 0) {}
};
  • A fenti struct-nak nincs default konstruktora.
  • A fenti struct-nak csak default konstruktora van.
  • A fenti struct-nak van default konstruktora.
  • A fenti struct-nak nincs copy konstruktora.

Melyik azonosító szabályos a C++ szabályai szerint?

  • 101_kiskutya
  • _1
  • miez?
  • jo!

Mit nevezünk funktornak?

  • Azokat az alprogramokat, amelyeknek nem void a visszatérési érték típusa.
  • Implementáció függő.
  • Azokat az objektumokat, amelyek van operator()-a.
  • Azokat az alprogramokat, amelyeknek void a visszatérési érték típusa.

Melyik reláció hamis az alábbiak közül?

  • sizeof(double) < sizeof(long double)
  • sizeof(unsigned char) == sizeof(char)
  • sizeof(short) <= sizeof(int)
  • sizeof(float) <= sizeof(double)

Melyik állítás igaz az alábbiak közül?

  • Absztrakt osztálynak nem lehet konstruktora.
  • Absztrakt osztálynak nem lehet adattagja.
  • Absztrakt osztálynak nem lehet objektumot létrehozni.
  • Absztrakt osztálynak nem lehet származtatni.

Mikor nevezünk erősen típusosnak egy nyelvet?

  • Erősen típusos, ha a forditóprogram ellenőrzi, hogy definiált-e egy objektum vagy alprogram.
  • Erősen típusos, ha a futási időben nem keletkezik kivétel.
  • Erősen típusos, ha minden kifejezés és részkifejezés típusa fordítási időben meghatározott.
  • Erősen típusos, ha minden kifejezés és részkifejezés típusa futási időben meghatározott.

Melyik igaz az alábbiak közül?

  • A friend kulcsszóval meghatározhatjuk a közelebbi osztályt többszörös öröklődés esetében.
  • A friend kulcsszó több osztály logikai csoportosítására szolgál.
  • Egy friend template osztály esetén példányosításkor nem kötelező explicit megadni a template paramétereket.
  • Egy friend függvény hozzáférhet az osztály private tagjaihoz.

Melyik állítás igaz az alábbiak közül?

  • A postfix operator++ mindig a megnövelt értéket adja vissza.
  • A postfix operator++ mindig hatékonyabb, mint a prefix.
  • Deklarációban egy plusz paraméterrel tudjuk megkülönböztetni a postfix operator++-t a prefix-től. - postfixnek van egy fölösleges int paramétere
  • Az alaptípusok prefix operator++-nak void a visszatérési érték típusa.

Lehet-e egy C++ függvényben két azonos nevű változó?

  • Nem lehet.
  • Csak akkor, ha különböző blokkban definiálták.
  • Csak akkor, ha különböző a típusuk.
  • Csak akkor, ha a láthatóságuk nem esik egybe.

Projektünkben az összes fordítási egység lefordult, de nem jön létre a futtható állomány a build folyamat végén. Mi lehet a baj?

  • A build folyamat közben nem találtuk meg a preprocessor-t.
  • A linker nem talált meg egy dinamikus linkelésű library-t.
  • A linker nem talált meg egy statikus linkelésű library-t.
  • A virtuális destruktorok hiánya okozta.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment