ОО1/К1 2022 — разлика између измена

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу
Нема описа измене
м (→‎3. zadatak: Fali tačka zarez na kralju definicije svake klase.)
 
(Није приказано 6 међуизмена 4 корисника)
Ред 5: Ред 5:
Šta može da stoji umesto XXX da bi se kod pokretao uspešno?
Šta može da stoji umesto XXX da bi se kod pokretao uspešno?
<syntaxhighlight lang="cpp">
<syntaxhighlight lang="cpp">
int g(int i)
int g(int i) { return i; }
{return i;}


int main()
int main() {
{
    int a = 5;
int a = 5;
    decltype (XXX) b = 5;
decltype (XXX) b = 5;
}
}


</syntaxhighlight>
</syntaxhighlight>
<div class="abc-list" data-solution="multiple">
<div class="abc-list" data-solution="multiple">
# <syntaxhighlight lang="cpp" inline>int;</syntaxhighlight>
# <syntaxhighlight lang="cpp" inline>int</syntaxhighlight>
# <syntaxhighlight lang="cpp" inline class="solution">a+1;</syntaxhighlight>
# <syntaxhighlight lang="cpp" inline class="solution">a+1</syntaxhighlight>
# <syntaxhighlight lang="cpp" inline class="solution">a++;</syntaxhighlight>
# <syntaxhighlight lang="cpp" inline class="solution">a++</syntaxhighlight>
# <syntaxhighlight lang="cpp" inline class="solution">g(g(4));</syntaxhighlight>
# <syntaxhighlight lang="cpp" inline class="solution">g(g(4))</syntaxhighlight>
</div>
</div>


Ред 25: Ред 23:
Šta se ispisuje prilikom pokretanja sledećeg koda?
Šta se ispisuje prilikom pokretanja sledećeg koda?
<syntaxhighlight lang="cpp">
<syntaxhighlight lang="cpp">
class X
class X {
{
public:
public:
X(int p) : z(++p), y(++p), x(++p) {cout << x << y << z;}
    X(int p) : z(++p), y(++p), x(++p) {cout << x << y << z;}
private:
private:
     int x, y, z;
     int x, y, z;
}
};


int main()
int main() {
{
    X x(3);
X x(3);
}
}
</syntaxhighlight>
</syntaxhighlight>
Odgovor: <span class="spoiler" data-solution="text">456</span>
'''Odgovor:''' <span class="spoiler" data-solution="text">456</span>
Objašnjenje: <span class="spoiler" data-solution="explanation">Inicijalizacija atributa se vrši redosledom navođenja u klasi, bez obzira na redosled u  
 
listi inicijalizatora.</span>
'''Objašnjenje:''' <span class="spoiler" data-solution="explanation">Inicijalizacija atributa se vrši redosledom navođenja u klasi, bez obzira na redosled u listi inicijalizatora.</span>


== 3. zadatak ==
== 3. zadatak ==
Šta ispisuje sledeći kod na programskom jeziku C++:
Šta ispisuje sledeći kod na programskom jeziku C++:
<syntaxhighlight lang="cpp">
<syntaxhighlight lang="cpp">
class A
class A {
{
public:
public:
~A() {cout << "A";}
    ~A() {cout << "A";}
};
}
 
class B
class B {
{
public:
public:
~B() {cout << "B";}
    ~B() {cout << "B";}
};
}
 
class C
class C {
{
    A a;
A a;
    B b;
B b;
public:
public:
~C() {cout << "C";}
    ~C() {cout << "C";}
};
}


int main()
int main() {
{
    delete new C();
delete new C();
}
}
</syntaxhighlight>
</syntaxhighlight>
Odgovor: <span class="spoiler" data-solution="text">CBA</span>
'''Odgovor:''' <span class="spoiler" data-solution="text">CBA</span>
Objašnjenje: <span class="spoiler" data-solution="explanation">Redosled pozivanja destruktora je obrnut od redosleda pozivanja konstruktora.</span>
 
'''Objašnjenje:''' <span class="spoiler" data-solution="explanation">Redosled pozivanja destruktora je obrnut od redosleda pozivanja konstruktora.</span>


== 4. zadatak ==
== 4. zadatak ==
Šta važi za prijateljske funkcije?
Šta važi za prijateljske funkcije?
<div class="abc-list" data-solution="multiple">
<div class="abc-list" data-solution="multiple">
# <syntaxhighlight lang="cpp" inline class="solution">prijateljska funkcija može biti metod neke druge klase</syntaxhighlight>
# <span class="solution">Prijateljska funkcija može biti metod neke druge klase.</span>
# <syntaxhighlight lang="cpp" inline >prijateljska funkcija deklarisana u javnom odeljku nema pristup privatnim atributima</syntaxhighlight>
# Prijateljska funkcija deklarisana u javnom odeljku nema pristup privatnim atributima.
# <syntaxhighlight lang="cpp" inline >da bi funkcija bila prijateljska ona mora da bude definisana unutar klase</syntaxhighlight>
# Da bi funkcija bila prijateljska ona mora da bude definisana unutar klase.
# <syntaxhighlight lang="cpp" inline class="solution">prijateljska funkcija definisana unutar klase je podrazumevano inline</syntaxhighlight>
# <span class="solution">Prijateljska funkcija definisana unutar klase je podrazumevano <code>inline</code>.</span>
</div>
</div>


Ред 86: Ред 78:
Koje aspekte je po Stroustrupu trebalo da ispuni C++:
Koje aspekte je po Stroustrupu trebalo da ispuni C++:
<div class="abc-list" data-solution="multiple">
<div class="abc-list" data-solution="multiple">
# <syntaxhighlight lang="cpp" inline >da bude brži od C-a</syntaxhighlight>
# Da bude brži od C-a
# <syntaxhighlight lang="cpp" inline >da bude prenosiv</syntaxhighlight>
# Da bude prenosiv
# <syntaxhighlight lang="cpp" inline class="solution">da bude dovoljno blizak mašini</syntaxhighlight>
# <span class="solution">Da bude dovoljno blizak mašini</span>
# <syntaxhighlight lang="cpp" inline class="solution">da bude dovoljno blizak problemu</syntaxhighlight>
# <span class="solution">Da bude dovoljno blizak problemu</span>
# <syntaxhighlight lang="cpp" inline >da se koristi za programiranje intefejsa</syntaxhighlight>
# Da se koristi za programiranje intefejsa
</div>
</div>


Ред 96: Ред 88:
Šta važi za prava pristupa:
Šta važi za prava pristupa:
<div class="abc-list" data-solution="multiple">
<div class="abc-list" data-solution="multiple">
# <syntaxhighlight lang="cpp" inline class="solution">u strukturi je podrazumevan public odeljak</syntaxhighlight>
# <span class="solution">U strukturi je podrazumevan <code>public</code> odeljak.</span>
# <syntaxhighlight lang="cpp" inline >privatni nestatički metod ima pravo pristupa samo privatnim atributima</syntaxhighlight>
# Privatni nestatički metod ima pravo pristupa samo privatnim atributima.
# <syntaxhighlight lang="cpp" inline >postoji samo po jedan public, private i protected odeljak</syntaxhighlight>
# Postoji samo po jedan <code>public</code>, <code>private</code> i <code>protected</code> odeljak.
# <syntaxhighlight lang="cpp" inline class="solution">u klasi je podrazumevan private odeljak</syntaxhighlight>
# <span class="solution">U klasi je podrazumevan <code>private</code> odeljak.</span>
</div>
</div>
== 7. zadatak ==
== 7. zadatak ==
Šta je validna operacija nad sledećim nizom?
Šta je validna operacija nad sledećim nizom?
<syntaxhighlight lang="cpp">
<syntaxhighlight lang="cpp">
int niz[] = {1,2,3,4}
int niz[] = {1,2,3,4};
</syntaxhighlight>
</syntaxhighlight>
<div class="abc-list" data-solution="multiple">
<div class="abc-list" data-solution="multiple">
# <syntaxhighlight lang="cpp" inline class="solution">niz[0] = 1</syntaxhighlight>
# <syntaxhighlight lang="cpp" inline class="solution">niz[0] = 1;</syntaxhighlight>
# <syntaxhighlight lang="cpp" inline class="solution">int x = niz[1]</syntaxhighlight>
# <syntaxhighlight lang="cpp" inline class="solution">int x = niz[1];</syntaxhighlight>
# <syntaxhighlight lang="cpp" inline >niz++</syntaxhighlight>
# <syntaxhighlight lang="cpp" inline >niz++;</syntaxhighlight>
# <syntaxhighlight lang="cpp" inline class="solution">int *novi_niz = niz</syntaxhighlight>
# <syntaxhighlight lang="cpp" inline class="solution">int *novi_niz = niz;</syntaxhighlight>
# <syntaxhighlight lang="cpp" inline >int *niz = new int[4]</syntaxhighlight>
# <syntaxhighlight lang="cpp" inline >int *niz = new int[4];</syntaxhighlight>
</div>
</div>
== 8. zadatak ==
== 8. zadatak ==
Sa kojim modifikatorima mogu da se pozivaju funkcije za promenljive objekte?
Sa kojim modifikatorima mogu da se pozivaju funkcije za promenljive objekte?
Ред 120: Ред 114:
# <syntaxhighlight lang="cpp" inline >this</syntaxhighlight>
# <syntaxhighlight lang="cpp" inline >this</syntaxhighlight>
# <syntaxhighlight lang="cpp" inline class="solution">volatile</syntaxhighlight>
# <syntaxhighlight lang="cpp" inline class="solution">volatile</syntaxhighlight>
# <syntaxhighlight lang="cpp" inline class="solution" >bez modifikatora</syntaxhighlight>
# <span class="solution" >bez modifikatora</span>
</div>
</div>
== 9. zadatak ==
== 9. zadatak ==
Šta može da stoji umesto ??? da bi kod bio ispravan?
Šta može da stoji umesto ??? da bi kod bio ispravan?
Ред 130: Ред 125:


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


int main() {
int main() {
Ред 149: Ред 143:
# <syntaxhighlight lang="cpp" inline class="solution" >f(a, *p);</syntaxhighlight>
# <syntaxhighlight lang="cpp" inline class="solution" >f(a, *p);</syntaxhighlight>
</div>
</div>
== 10. zadatak ==
== 10. zadatak ==
Koji od sledećih poziva funkcija su ispravni?
Koje od sledećih deklaracija funkcija su ispravne?
<div class="abc-list" data-solution="multiple">
<div class="abc-list" data-solution="multiple">
# <syntaxhighlight lang="cpp" inline >int f(int a = 1, int b, int c);</syntaxhighlight>
# <syntaxhighlight lang="cpp" inline >int f(int a = 1, int b, int c);</syntaxhighlight>
Ред 156: Ред 151:
# <syntaxhighlight lang="cpp" inline >int f(int a = 1, int b = 2, int c);</syntaxhighlight>
# <syntaxhighlight lang="cpp" inline >int f(int a = 1, int b = 2, int c);</syntaxhighlight>
# <syntaxhighlight lang="cpp" inline class="solution">int f(int a, int b = 2, int c = 3); </syntaxhighlight>
# <syntaxhighlight lang="cpp" inline class="solution">int f(int a, int b = 2, int c = 3); </syntaxhighlight>
# <syntaxhighlight lang="cpp" inline class="solution" >int f(int a, int b = 2, int c);</syntaxhighlight>
# <syntaxhighlight lang="cpp" inline>int f(int a, int b = 2, int c);</syntaxhighlight>
</div>
</div>
== Napomene ==
<references />


[[Категорија:Рокови]]
[[Категорија:Рокови]]
[[Категорија:ОО1]]
[[Категорија:ОО1]]

Тренутна верзија на датум 22. новембар 2023. у 18:43

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

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);