ОО1/К1 2021

Извор: SI Wiki
< ОО1
Датум измене: 31. јануар 2024. у 17:57; аутор: RelaxingJazzMusic (разговор | доприноси)
(разл) ← Старија измена | Тренутна верзија (разл) | Новија измена → (разл)
Пређи на навигацију Пређи на претрагу
  • За питања са више одговора, тачни одговори су подебљани и уоквирени
  • За питања за које се одговори уносе, тачни одговори су подвучени и сакривени, тако да се прикажу када изаберете тај текст (пример: овако)
  • Притисните лево дугме испод за сакривање и откривање свих одговора, или десно дугме за укључивање и искључивање интерактивног режима:

1. zadatak

Data je sledeća klasa:

class X {
public:
    X(int a) {}
    explicit X(const string&) {}
};

Koji isečci koda od navedenih će se uspešno izvršiti?

  1. X f() {
        return 0;
    }
    int main() {
        f();
    }
    
  2. X g() {
        return "abc";
    }
    int main() {
        g();
    }
    
  3. X(3);
    
  4. X("abc");
    

2. zadatak

Šta može da stoji umesto dela označenog sa *** a da se program uspešno prevodi?

int i = 0;
enum dan {PON, UTO, SRE};

int main() {
    dan s;
    int j = 1;
    class L {
        void g() {
            ***
        }
    };
}
  1. s = UTO;
  2. j++;
  3. i++;
  4. i = PON;

Objašnjenje: Nije moguće pristupiti lokalnim promenljivim iz okružujućeg dosega iz lokalnih klasa.

3. zadatak

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

#include <iostream>
using namespace std;

void f(int& a) { cout << 2; }
void f(const int& a) { cout << 1; }
void f(int&& a) { cout << 3; }

int main() {
    int x = 0;
    const int y = 0;
    f(x);
    f(y);
    f(x+1);
}

Odgovor: 213

4. zadatak

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

#include <iostream>
using namespace std;

int x = 5;

int f(int x) {
    return x = x+1;
}

int main() {
    cout << f(x) << ::x;
}

Odgovor: 65

Objašnjenje: Funkciji se prosleđuje globalna po vrednosti, i izmene tog parametra unutar funkcije se ne oslikavaju na samu globalnu.

5. zadatak

Šta u sledećem kodu može da stoji umesto dela označenog sa ### a da se on ispravno prevodi:

#include <iostream>
using namespace std;

int main() {
    int a = 3;
    const int* const p = &a;
    ###
}
  1. cout << p;
  2. p++;
  3. *p = 4;
  4. cout << *p;

6. zadatak

Gde se skladište sledeći podaci:

Ponuđene opcije
Podaci Lokacija
  • Privremeni podaci b[1]
  • Dinamički podaci a
  • Automatski podaci c
  1. Heap
  2. Registri
  3. Stek
  4. EPROM

7. zadatak

8. zadatak

9. zadatak

10. zadatak

Napomene

  1. Naknadno je za ovaj odgovor bila priznavana opcija pod c, jer privremeni podaci mogu da se čuvaju i na steku.