ОО1/К1 2020 — разлика између измена
< ОО1
Пређи на навигацију
Пређи на претрагу
м (Ne ovo) |
м (9. zadatak) |
||
Ред 13: | Ред 13: | ||
# Moguće je definisati pokazivač na referencu. | # Moguće je definisati pokazivač na referencu. | ||
</div> | </div> | ||
=== 2. zadatak === | === 2. zadatak === | ||
Ред 117: | Ред 116: | ||
=== 8. zadatak === | === 8. zadatak === | ||
Šta ispisuje sledeći program na programskom jeziku C++? | |||
<syntaxhighlight lang="cpp"> | |||
#include <iostream> | |||
using namespace std; | |||
class Klasa { | |||
static Klasa *napravi() | |||
{ | |||
cout << 1; | |||
return new Klasa{0}; | |||
} | |||
Klasa *clan = napravi(); | |||
public: | |||
Klasa() { cout << 2; } | |||
Klasa(int a) : clan(nullptr) { cout << 3; } | |||
}; | |||
int main() { | |||
Klasa k; | |||
} | |||
</syntaxhighlight> | |||
Odgovor: <span class="spoiler">132</span> | |||
=== 9. zadatak === | === 9. zadatak === |
Верзија на датум 5. новембар 2020. у 23:48
- Za pitanja sa više odgovora, tačni odgovori su podebljani i uokvireni.
- Za pitanja za koje se odgovori unose, tačni odgovori su podvučeni i sakriveni: ovako.
- Pritisnite na sledeće dugme kako biste ih sakrili ili otkrili:
G2
1. zadatak
Zaokružiti tačne tvrdnje u vezi sa referencama na jeziku C++:
- Moguće je definisati referencu na pokazivač.
- Moguće je definisati niz referenci.
- Moguće je definisati referencu na referencu.
- Moguće je definisati pokazivač na referencu.
2. zadatak
Šta ispisuje sledeći program na jeziku C++?
#include <iostream>
int &f(int &x){
return x++;
}
int main(void) {
int x = 5;
std::cout << f(x);
}
- 6
- 0
- Program se ne prevodi.
- 5
4. zadatak
Povezati tvrdnje u vezi sa modifikatorima metoda:
volatile b.
|
|
5. zadatak
Zaokružiti tačne tvrdnje u vezi sa pomerajućim konstruktorom na jeziku C++:
- Definisanjem podrazumevanog konstruktora briše se ugrađeni premeštajući konstruktor.
- Definisanjem kopirajućeg konstruktora briše se ugrađeni premeštajući konstruktor.
- Pomerajući konstruktor mora da ima samo jedan parametar.
6. zadatak
Zaokružiti tačne tvrdnje u vezi sa funkcijama na jeziku C++:
- Mogu se definisati više funkcija istog imena ako imaju različiti broj parametara bez podrazumevanih vrednosti.
- Mogu se definisati više funkcija istog imena ako su im različite povratne vrednosti.
- Ne mogu se definisati više funkcija istog imena, jer kompajler ne bi mogao da ih raspozna.
- Mogu se definisati više funkcija istog imena ako imaju različite tipove parametara.
7. zadatak
Šta ispisuje sledeći program na programskom jeziku C++:
#include <iostream>
using namespace std;
class L {
L(const &L l) = delete;
};
class K {
static int staticId;
int id = staticId++;
L l;
public:
K() = default;
K(const K&) {}
int m(K arg) {
return arg.id;
}
};
int K::staticId = 1;
int main()
{
K a;
K b;
K c(a);
cout << a.m(c);
}
- 1
- 2
- Program se ne prevodi
- 3
- 4
8. zadatak
Šta ispisuje sledeći program na programskom jeziku C++?
#include <iostream>
using namespace std;
class Klasa {
static Klasa *napravi()
{
cout << 1;
return new Klasa{0};
}
Klasa *clan = napravi();
public:
Klasa() { cout << 2; }
Klasa(int a) : clan(nullptr) { cout << 3; }
};
int main() {
Klasa k;
}
Odgovor: 132
9. zadatak
Dopuniti XXX sa linijom tako da je program ispravan:
#include <iostream>
class A {
A(const A& a) = delete;
public:
int n = 1;
A() = default;
A(A&& a) { };
};
void f(A a) {
std::cout << a.n;
}
int main(void)
{
XXX
return 0;
}
f();
A a; f(a);
-
f(A());
f(A);
10. zadatak
Zaokružiti tačne tvrdnje u vezi sa statičkim poljima u klasama na jeziku C++:
- U definiciji klase se mogu definisati promenljiva statička polja.
- Doseg imena statičkog polja je klasa.
- Statičkom polju s iz klase K se pristupa koristeći izraz K.s.