ОО1/К1 2022

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу
  • За питања са више одговора, тачни одговори су подебљани и уоквирени
  • За питања за које се одговори уносе, тачни одговори су подвучени и сакривени, тако да се прикажу када изаберете тај текст (пример: овако)
  • Притисните лево дугме испод за сакривање и откривање свих одговора, или десно дугме за укључивање и искључивање интерактивног режима:

1. zadatak

Šta može da stoji umesto XXX da bi se kod pokretao uspešno?

int g(int i) { return i; }

int main() {
    int a = 5;
    decltype (XXX) b = 5;
}
  1. int
  2. a+1
  3. a++
  4. g(g(4))

2. zadatak

Šta se ispisuje prilikom pokretanja sledećeg koda?

class X {
public:
    X(int p) : z(++p), y(++p), x(++p) {cout << x << y << z;}
private:
    int x, y, z;
};

int main() {
    X x(3);
}

Odgovor: 456

Objašnjenje: Inicijalizacija atributa se vrši redosledom navođenja u klasi, bez obzira na redosled u listi inicijalizatora.

3. zadatak

Šta ispisuje sledeći kod na programskom jeziku C++:

class A {
public:
    ~A() {cout << "A";}
};

class B {
public:
    ~B() {cout << "B";}	
};

class C {
    A a;
    B b;
public:
    ~C() {cout << "C";}
};

int main() {
    delete new C();
}

Odgovor: CBA

Objašnjenje: Redosled pozivanja destruktora je obrnut od redosleda pozivanja konstruktora.

4. zadatak

Šta važi za prijateljske funkcije?

  1. Prijateljska funkcija može biti metod neke druge klase.
  2. Prijateljska funkcija deklarisana u javnom odeljku nema pristup privatnim atributima.
  3. Da bi funkcija bila prijateljska ona mora da bude definisana unutar klase.
  4. Prijateljska funkcija definisana unutar klase je podrazumevano inline.

5. zadatak

Koje aspekte je po Stroustrupu trebalo da ispuni C++:

  1. Da bude brži od C-a
  2. Da bude prenosiv
  3. Da bude dovoljno blizak mašini
  4. Da bude dovoljno blizak problemu
  5. Da se koristi za programiranje intefejsa

6. zadatak

Šta važi za prava pristupa:

  1. U strukturi je podrazumevan public odeljak.
  2. Privatni nestatički metod ima pravo pristupa samo privatnim atributima.
  3. Postoji samo po jedan public, private i protected odeljak.
  4. U klasi je podrazumevan private odeljak.

7. zadatak

Šta je validna operacija nad sledećim nizom?

int niz[] = {1,2,3,4};
  1. niz[0] = 1;
  2. int x = niz[1];
  3. niz++;
  4. int *novi_niz = niz;
  5. int *niz = new int[4];

8. zadatak

Sa kojim modifikatorima mogu da se pozivaju funkcije za promenljive objekte?

  1. const
  2. const volatile
  3. this
  4. volatile
  5. bez modifikatora

9. zadatak

Šta može da stoji umesto ??? da bi kod bio ispravan?

#include <iostream>

int& f(int& i, const int& j);

const int& g(int &i) { return i; }

int main() {
    int a = 3;
    int* p = &a;
    const int *pk = &a;

    ???

    return 0;
}
  1. f(a + 1, a);
  2. f(a, a);
  3. f(*pk, a);
  4. f(a, g(a));
  5. f(a, *p);

10. zadatak

Koje od sledećih deklaracija funkcija su ispravne?

  1. int f(int a = 1, int b, int c);
  2. int f(int a = 1, int b = 2, int c = 3);
  3. int f(int a = 1, int b = 2, int c);
  4. int f(int a, int b = 2, int c = 3);
  5. int f(int a, int b = 2, int c);