ОО1/К1 2022
< ОО1
Пређи на навигацију
Пређи на претрагу
- За питања са више одговора, тачни одговори су подебљани и уоквирени
- За питања за које се одговори уносе, тачни одговори су подвучени и сакривени, тако да се прикажу када изаберете тај текст (пример: овако)
- Притисните лево дугме испод за сакривање и откривање свих одговора, или десно дугме за укључивање и искључивање интерактивног режима:
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;
}
inta+1a++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?
- Prijateljska funkcija može biti metod neke druge klase.
- Prijateljska funkcija deklarisana u javnom odeljku nema pristup privatnim atributima.
- Da bi funkcija bila prijateljska ona mora da bude definisana unutar klase.
- Prijateljska funkcija definisana unutar klase je podrazumevano
inline.
5. zadatak
Koje aspekte je po Stroustrupu trebalo da ispuni C++:
- Da bude brži od C-a
- Da bude prenosiv
- Da bude dovoljno blizak mašini
- Da bude dovoljno blizak problemu
- Da se koristi za programiranje intefejsa
6. zadatak
Šta važi za prava pristupa:
- U strukturi je podrazumevan
publicodeljak. - Privatni nestatički metod ima pravo pristupa samo privatnim atributima.
- Postoji samo po jedan
public,privateiprotectedodeljak. - U klasi je podrazumevan
privateodeljak.
7. zadatak
Šta je validna operacija nad sledećim nizom?
int niz[] = {1,2,3,4};
niz[0] = 1;int x = niz[1];niz++;int *novi_niz = niz;int *niz = new int[4];
8. zadatak
Sa kojim modifikatorima mogu da se pozivaju funkcije za promenljive objekte?
constconst volatilethisvolatile- 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;
}
f(a + 1, a);f(a, a);f(*pk, a);f(a, g(a));f(a, *p);
10. zadatak
Koje od sledećih deklaracija funkcija su ispravne?
int f(int a = 1, int b, int c);int f(int a = 1, int b = 2, int c = 3);int f(int a = 1, int b = 2, int c);int f(int a, int b = 2, int c = 3);int f(int a, int b = 2, int c);