ОО1/Фебруар 2021
- За питања са више одговора, тачни одговори су подебљани и уоквирени.
- За питања за које се одговори уносе, тачни одговори су подвучени и сакривени: овако.
- Притисните на следеће дугме како бисте их сакрили или открили:
1. задатак
Шта најбоље описује појам "апстракција":
- Одвајање уговора од имплементације
- Издвајање и груписање заједничких особина
- Креирање апстрактних класа и метода
- ...
2. задатак
У следећем програму на програмском језику C++, који је тип променљиве p?
const int k = 1;
const auto j = k;
auto p = new int + k;
инт*цонст инт*интцонст интцонст инт* цонст
3. задатак
У методи m који је тип показивача this?
class X
{
void m() const {};
};
X*цонст X*X*цонстцонст X*цонст
4. задатак
Који од следећих тврђења су тачни за статичке методе класе X:
- Немају показивач
this - Имају право приступа свим члановима X
- Имају јавно право приступа независно од секције у којој се налазе
- Могу да приступају статичким атрибутима и функцијама простим именовањем
- Морају се дефинисати ван тела класе
5. задатак
Шта исписује следећи програм на програмском језику C++? Уколико се програм не преводи унети НП, а уколико дође до грешке при извршавању унети X.
#include <iostream>
using namespace std;
int main() {
int niz[] = {1, 2, 3};
int* p = niz;
p++;
int& ref = *p;
ref++;
cout << niz[0] << niz[1] << niz[2];
}
Решење: 133
6. задатак
Који је тип аргумента премештајућег оператора доделе класе X?
Решење: X&&
7. задатак
Који су све исправни параметри шаблона неспецијализоване генеричке класе или методе:
темплате<>темплате<тyпенаме Т>темплате<тyпенаме Т, тyпенаме У>темплате<инт Н>темплате<тyпенаме Т, инт Н>
8. задатак
Који су правилни начини извођења класе Б из класе А?
цласс Б: А {...};цласс Б: оверриде А {...};цласс Б: привате протецтед А {...};цласс Б: привате А {...};цласс Б: публиц А {...};
9. задатак
Шта исписује следећи програм на програмском језику C++?
#include <iostream>
using namespace std;
class A {
private:
int a;
public:
A(int aa=0) : a(aa) {}
void m() { cout << 1; }
friend ostream& operator<<(ostream& os,const A& a) { return os << a.a; }
};
class B: public A{
private:
int a;
public:
B(int aa) : a(aa) {}
int m() { cout << 2; return 2; }
};
int main() {
A a(5);
B b(7);
A* ap = &b;
a.m();
b.m();
ap->m();
cout << a << b;
}
Решење: 12150
10. задатак
Шта исписује следећи програм на програмском језику C++? Занемарити упозорења преводиоца
#include <iostream>
using namespace std;
class IzuzO {};
class IzuzI : public IzuzO {};
int main() {
try
{
try
{
throw new IzuzI();
}
catch (IzuzI&) { cout << 1; }
catch (IzuzO&) { cout << 2; }
catch (...) { cout << 3; throw; }
}
catch (IzuzO*) { cout << 4; }
catch (IzuzI*) { cout << 5; }
catch (...) { cout << 6; }
return 0;
}
Решење: 34