<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="sr">
	<id>https://siwiki.rs/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Milos</id>
	<title>SI Wiki - Кориснички доприноси [sr]</title>
	<link rel="self" type="application/atom+xml" href="https://siwiki.rs/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Milos"/>
	<link rel="alternate" type="text/html" href="https://siwiki.rs/wiki/%D0%9F%D0%BE%D1%81%D0%B5%D0%B1%D0%BD%D0%BE:%D0%94%D0%BE%D0%BF%D1%80%D0%B8%D0%BD%D0%BE%D1%81%D0%B8/Milos"/>
	<updated>2026-06-04T06:10:34Z</updated>
	<subtitle>Кориснички доприноси</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%A0%D0%B0%D1%87%D1%83%D0%BD%D0%B0%D1%80%D1%81%D0%BA%D0%B8_VLSI_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B8/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=8350</id>
		<title>Рачунарски VLSI системи/Питања</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%A0%D0%B0%D1%87%D1%83%D0%BD%D0%B0%D1%80%D1%81%D0%BA%D0%B8_VLSI_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B8/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=8350"/>
		<updated>2026-03-17T06:21:29Z</updated>

		<summary type="html">&lt;p&gt;Milos: /* 1. задатак */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
&#039;&#039;&#039;Питања&#039;&#039;&#039; на теоријском делу испита се, слично као на [[Рачунарске мреже 1/Питања|РМ1]], дохватају из корпуса питања и нису свим студентима иста, али долазе из сличних области. Испод су излистани неки задаци по категоријама питања.&lt;br /&gt;
&lt;br /&gt;
== SystemVerilog ограничења ==&lt;br /&gt;
У оваквим задацима, једноставно, је дат SystemVerilog код са ограничењима на неке променљиве, и пита се нешто у вези са вредностима које та променљива може да има и њиховим вероватноћама појављивања.&lt;br /&gt;
&lt;br /&gt;
=== 1. задатак ===&lt;br /&gt;
Које вредности може имати променљива &amp;lt;code&amp;gt;variable&amp;lt;/code&amp;gt; из приказане класе &amp;lt;code&amp;gt;Constraints&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;systemverilog&amp;quot;&amp;gt;&lt;br /&gt;
class Constraints;&lt;br /&gt;
    rand bit [3:0] variable;&lt;br /&gt;
&lt;br /&gt;
    constraint c1 { variable &amp;lt;= 4&#039;d9; }&lt;br /&gt;
    constraint c2 { variable inside {[4:14]}; }&lt;br /&gt;
    constraint c3 { ! (variable inside {4&#039;h0, 4&#039;h5}); }&lt;br /&gt;
endclass&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Могуће вредности, сортиране од најмање ка највећој, у децималном бројном систему, раздвојене запетом без пратећег размака, навести као одговор.&lt;br /&gt;
&lt;br /&gt;
Напомена: Приказ очекиваног формата одговора за следеће произвољно одабране вредности 15, 2, 7 и 10 јесте:&lt;br /&gt;
 2,7,10,15&lt;br /&gt;
&#039;&#039;&#039;Одговор:&#039;&#039;&#039; &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;4,6,7,8,9&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 2. задатак ===&lt;br /&gt;
Дата је класа &amp;lt;code&amp;gt;Constraints&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;systemverilog&amp;quot;&amp;gt;&lt;br /&gt;
class Constraints;&lt;br /&gt;
    rand bit [2:0] variable;&lt;br /&gt;
&lt;br /&gt;
    constraint distribution { variable dist { 0:/20, 1:/30, [2:6]:/40, 7:/10 }; }&lt;br /&gt;
endclass&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Која је вероватноћа да променљива &amp;lt;code&amp;gt;variable&amp;lt;/code&amp;gt; приликом генерисања псеудослучајне вредности добије вредност &#039;&#039;&#039;4&#039;&#039;&#039;? Вероватноћу представити као разломак у којем су бројилац и именилац узајамно прости бројеви.&lt;br /&gt;
&amp;lt;div data-solution=&amp;quot;select&amp;quot; data-options=&amp;quot;9,10,5,3,11,27,4,12,2,26,28,1,25,29,13&amp;quot;&amp;gt;&lt;br /&gt;
* Бројилац: &amp;lt;span class=&amp;quot;spoiler&amp;quot;&amp;gt;2&amp;lt;/span&amp;gt;&lt;br /&gt;
* Именилац: &amp;lt;span class=&amp;quot;spoiler&amp;quot;&amp;gt;25&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 3. задатак ===&lt;br /&gt;
Које вредности може имати променљива &amp;lt;code&amp;gt;v2&amp;lt;/code&amp;gt; из приказане класе &amp;lt;code&amp;gt;Constraints&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;systemverilog&amp;quot;&amp;gt;&lt;br /&gt;
class Constraints;&lt;br /&gt;
    randc bit [3:0] v1;&lt;br /&gt;
    randc bit [3:0] v2;&lt;br /&gt;
&lt;br /&gt;
    constraint c1 { v1 &amp;gt; 4&#039;b0100; }&lt;br /&gt;
    constraint c2 { ! (v1 inside {[4&#039;h8:4&#039;hF]}); }&lt;br /&gt;
    constraint c3 { v2 == v1 * 2 + 1; }&lt;br /&gt;
endclass&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Могуће вредности, сортиране од најмање ка највећој, у децималном бројном систему, раздвојене запетом без пратећег размака, навести као одговор.&lt;br /&gt;
&lt;br /&gt;
Напомена: Приказ очекиваног формата одговора за следеће произвољно одабране вредности 15, 2, 7 и 10 јесте:&lt;br /&gt;
 2,7,10,15&lt;br /&gt;
&#039;&#039;&#039;Одговор:&#039;&#039;&#039; &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;text&amp;quot;&amp;gt;11,13,15&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 4. задатак ===&lt;br /&gt;
Дата је класа &amp;lt;code&amp;gt;Constraints&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;systemverilog&amp;quot;&amp;gt;&lt;br /&gt;
class Constraints;&lt;br /&gt;
    rand bit [2:0] variable;&lt;br /&gt;
&lt;br /&gt;
    constraint distribution { variable dist { 0:/20, 1:/30, [2:6]:/20, 7:/30 }; }&lt;br /&gt;
endclass&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Која је вероватноћа да променљива &amp;lt;code&amp;gt;variable&amp;lt;/code&amp;gt; приликом генерисања псеудослучајне вредности добије вредност &#039;&#039;&#039;4&#039;&#039;&#039;? Вероватноћу представити као разломак у којем су бројилац и именилац узајамно прости бројеви.&lt;br /&gt;
&amp;lt;div data-solution=&amp;quot;select&amp;quot; data-options=&amp;quot;9,10,5,3,11,27,4,12,2,26,28,1,25,29,13&amp;quot;&amp;gt;&lt;br /&gt;
* Бројилац: &amp;lt;span class=&amp;quot;spoiler&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;&lt;br /&gt;
* Именилац: &amp;lt;span class=&amp;quot;spoiler&amp;quot;&amp;gt;25&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 5. задатак ===&lt;br /&gt;
Дата је класа &amp;lt;code&amp;gt;Constraints&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;systemverilog&amp;quot;&amp;gt;&lt;br /&gt;
class Constraints;&lt;br /&gt;
    rand bit [2:0] variable;&lt;br /&gt;
&lt;br /&gt;
    constraint distribution { variable dist { 0:/20, 1:/30, [2:6]:=20, 7:/30 }; }&lt;br /&gt;
endclass&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Која је вероватноћа да променљива &amp;lt;code&amp;gt;variable&amp;lt;/code&amp;gt; приликом генерисања псеудослучајне вредности добије вредност &#039;&#039;&#039;4&#039;&#039;&#039;? Вероватноћу представити као разломак у којем су бројилац и именилац узајамно прости бројеви.&lt;br /&gt;
&amp;lt;div data-solution=&amp;quot;select&amp;quot; data-options=&amp;quot;9,10,5,3,11,27,4,12,2,26,28,1,25,29,13&amp;quot;&amp;gt;&lt;br /&gt;
* Бројилац: &amp;lt;span class=&amp;quot;spoiler&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;&lt;br /&gt;
* Именилац: &amp;lt;span class=&amp;quot;spoiler&amp;quot;&amp;gt;9&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Objašnjenje: &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;explanation&amp;quot;&amp;gt;Kada stoji := to znači da se svakom broju iz opsega dodeljuje ta verovatnoća, za razliku od :/ koji označava kumulativnu verovatnoću za ceo opseg. Samim tim ukupna verovatnoća je &amp;lt;math&amp;gt;20+30+20*5+30 = 180&amp;lt;/math&amp;gt;, verovatnoća za broj 4 je 20, tako da će rezultat biti &amp;lt;math&amp;gt;\frac{20}{180}&amp;lt;/math&amp;gt; čijim skraćivanjem se dobija traženo rešenje.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Сабирачи ==&lt;br /&gt;
У оваквим задацима обично је дат Verilog код одређеног сабирача (једног од типова као што су рађени на предавањима) и питају се ствари у вези са функционисањем тог сабирача.&lt;br /&gt;
&lt;br /&gt;
=== 1. задатак ===&lt;br /&gt;
У наставку је дата имплементација једног осморазредног сабирача. О ком сабирачу се ради, ако се зна да модул &amp;lt;code&amp;gt;ripple_carry_adder_n&amp;lt;/code&amp;gt; представља &#039;&#039;N&#039;&#039;-разредни сабирач са серијским преносом, а да модул &amp;lt;code&amp;gt;multiplexer_2_1&amp;lt;/code&amp;gt; представља двоулазни мултиплексер ширине &#039;&#039;N&#039;&#039; информационих улаза?&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;verilog&amp;quot;&amp;gt;&lt;br /&gt;
module adder_8 (&lt;br /&gt;
    input [7:0] a, b,&lt;br /&gt;
    input carry_in,&lt;br /&gt;
    output [7:0] sum,&lt;br /&gt;
    output carry_out&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
    wire carry_3_0, carry_3_1, carry_3;&lt;br /&gt;
    wire [3:0] sum_low_0, sum_low_1, sum_low;&lt;br /&gt;
&lt;br /&gt;
    ripple_carry_adder_n #(4) rca_1 (a[3:0], b[3:0], 1&#039;b0, sum_low_0, carry_3_0);&lt;br /&gt;
    ripple_carry_adder_n #(4) rca_2 (a[3:0], b[3:0], 1&#039;b1, sum_low_1, carry_3_1);&lt;br /&gt;
&lt;br /&gt;
    multiplexer_2_1 #(4) mpx_1 (sum_low_0, sum_low_1, carry_in, sum_low);&lt;br /&gt;
&lt;br /&gt;
    assign carry_3 = (carry_in &amp;amp; carry_3_1) | carry_3_0;&lt;br /&gt;
&lt;br /&gt;
    wire carry_7_0, carry_7_1, carry_7;&lt;br /&gt;
    wire [3:0] sum_high_0, sum_high_1, sum_high;&lt;br /&gt;
&lt;br /&gt;
    ripple_carry_adder_n #(4) rca_3 (a[7:4], b[7:4], 1&#039;b0, sum_high_0, carry_7_0);&lt;br /&gt;
    ripple_carry_adder_n #(4) rca_4 (a[7:4], b[7:4], 1&#039;b1, sum_high_1, carry_7_1);&lt;br /&gt;
&lt;br /&gt;
    multiplexer_2_1 #(4) mpx_2 (sum_high_0, sum_high_1, carry_3, sum_high);&lt;br /&gt;
&lt;br /&gt;
    assign carry_7 = carry_7_0 | (carry_3_0 &amp;amp; carry_7_1) | (carry_in &amp;amp; carry_3_1 &amp;amp; carry_7_1);&lt;br /&gt;
&lt;br /&gt;
    assign sum = {sum_high, sum_low};&lt;br /&gt;
    assign carry_out = carry_7;&lt;br /&gt;
&lt;br /&gt;
endmodule&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;single&amp;quot;&amp;gt;&lt;br /&gt;
# Условни сабирач (&#039;&#039;Conditional Sum Adder&#039;&#039;)&lt;br /&gt;
# Сабирач са серијским преносом (&#039;&#039;Ripple Carry Adder&#039;&#039;)&lt;br /&gt;
# Сабирач са чувањем преноса (&#039;&#039;Carry Save Adder&#039;&#039;)&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Сабирач на основу бита преноса (&#039;&#039;Carry Select Adder&#039;&#039;)&amp;lt;/span&amp;gt;&lt;br /&gt;
# Сабирач са паралелним преносом (&#039;&#039;Carry Lookahead Adder&#039;&#039;)&lt;br /&gt;
# Потпуни сабирач (&#039;&#039;Full Adder&#039;&#039;)&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Објашњење:&#039;&#039;&#039; &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;explanation&amp;quot;&amp;gt;У коду се види карактеристични &amp;quot;осакаћени мултиплексер&amp;quot; код генерисања преноса &amp;lt;code&amp;gt;carry_3&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;carry_7&amp;lt;/code&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 2. задатак ===&lt;br /&gt;
У наставку је дата непотпуна имплементација четвороразредног сабирача на основу бита преноса (&#039;&#039;Carry Select Adder&#039;&#039;). Допунити имплементацију, ако се зна да модул &amp;lt;code&amp;gt;ripple_carry_adder_n&amp;lt;/code&amp;gt; представља &#039;&#039;N&#039;&#039;-разредни сабирач са серијским преносом, а да модул &amp;lt;code&amp;gt;multiplexer_2_1&amp;lt;/code&amp;gt; представља двоулазни мултиплексер ширине &#039;&#039;N&#039;&#039; информационих улаза?&amp;lt;sup&amp;gt;[sic]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;verilog&amp;quot;&amp;gt;&lt;br /&gt;
module carry_select_adder_4 (&lt;br /&gt;
    input [3:0] a, b,&lt;br /&gt;
    input carry_in,&lt;br /&gt;
    output [3:0] sum,&lt;br /&gt;
    output carry_out&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
    wire carry_3_0, carry_3_1;&lt;br /&gt;
    wire [3:0] sum_0, sum_1;&lt;br /&gt;
&lt;br /&gt;
    ripple_carry_adder_n #(4) rca_1 (a[3:0], b[3:0], БЕЛИНА_1, sum_0, БЕЛИНА_2);&lt;br /&gt;
    ripple_carry_adder_n #(4) rca_2 (a[3:0], b[3:0], БЕЛИНА_3, sum_1, БЕЛИНА_4);&lt;br /&gt;
&lt;br /&gt;
    multiplexer_2_1 #(4) mpx_1 (sum_0, sum_1, carry_in, sum);&lt;br /&gt;
&lt;br /&gt;
    assign carry_out = (carry_in &amp;amp; carry_3_1) | carry_3_0;&lt;br /&gt;
&lt;br /&gt;
endmodule&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;select&amp;quot; data-options=&amp;quot;carry_3_1,1&#039;b1,sum,1&#039;b0,carry_out,carry_in,carry_3_0,sum_0,sum_1&amp;quot;&amp;gt;&lt;br /&gt;
# Белина 1: &amp;lt;span class=&amp;quot;spoiler&amp;quot;&amp;gt;1&#039;b0&amp;lt;/span&amp;gt;&lt;br /&gt;
# Белина 2: &amp;lt;span class=&amp;quot;spoiler&amp;quot;&amp;gt;carry_3_0&amp;lt;/span&amp;gt;&lt;br /&gt;
# Белина 3: &amp;lt;span class=&amp;quot;spoiler&amp;quot;&amp;gt;1&#039;b1&amp;lt;/span&amp;gt;&lt;br /&gt;
# Белина 4: &amp;lt;span class=&amp;quot;spoiler&amp;quot;&amp;gt;carry_3_1&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Објашњење:&#039;&#039;&#039; &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;explanation&amp;quot;&amp;gt;Ово је само друга варијанта задатка изнад. Једном сабирачу се даје да рачуна као да је улазни пренос 0, а другом да је улазни пренос 1, па се њихови резултати смештају у одговарајуће сигнале.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Временски облици ==&lt;br /&gt;
У оваквим задацима дат је Verilog код са кашњењима и временски облици излазних сигнала у &#039;&#039;ModelSim&#039;&#039;, па се студенти питају да препознају одговарајући временски облик.&lt;br /&gt;
&lt;br /&gt;
=== 1. задатак ===&lt;br /&gt;
{{делимично решено}}&lt;br /&gt;
Који временски облик одговара следећем изворном коду:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;verilog&amp;quot;&amp;gt;&lt;br /&gt;
module delay_module_3 (&lt;br /&gt;
    out1, out2, a, b, c, x, y, z&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
    output reg out1, out2;&lt;br /&gt;
    input a, b, c, x, y, z;&lt;br /&gt;
    wire e, f, g;&lt;br /&gt;
&lt;br /&gt;
    always @(posedge a) out1 = #1 b &amp;amp; c;&lt;br /&gt;
    always @(negedge a) out1 = #1 b | ~c;&lt;br /&gt;
&lt;br /&gt;
    always @(posedge x) out2 = #1 y ^ z;&lt;br /&gt;
    always @(negedge x) out2 = #1 ~y;&lt;br /&gt;
&lt;br /&gt;
endmodule&lt;br /&gt;
&lt;br /&gt;
module top_display;&lt;br /&gt;
&lt;br /&gt;
    reg a, b, c, x, y, z;&lt;br /&gt;
    wire o1, o2;&lt;br /&gt;
    delay_module_3 d3(o1, o2, a, b, c, x, y, z);&lt;br /&gt;
&lt;br /&gt;
    initial begin&lt;br /&gt;
        a = 1&#039;b0; b = 1&#039;b0; c = 1&#039;b0; x = 1&#039;b0; y = 1&#039;b0; z = 1&#039;b0;&lt;br /&gt;
        #1 b = 1&#039;b1;&lt;br /&gt;
        #2 a = 1&#039;b1; y = 1&#039;b1;&lt;br /&gt;
        #0 c = 1&#039;b1;&lt;br /&gt;
        #2 x = 1&#039;b1;&lt;br /&gt;
        #2 a = 1&#039;b0;&lt;br /&gt;
        #1 b = 1&#039;b0;&lt;br /&gt;
        #3 x = 1&#039;b0;&lt;br /&gt;
        #0 y = 1&#039;b0;&lt;br /&gt;
        #0 $finish;&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
endmodule&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;single&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;[[Датотека:VLSI zadaci vremenski oblik 9.jpg|link=]]&amp;lt;/span&amp;gt;&lt;br /&gt;
# [[Датотека:VLSI zadaci vremenski oblik 10.jpg|link=]]&lt;br /&gt;
# [[Датотека:VLSI zadaci vremenski oblik 11.jpg|link=]]&lt;br /&gt;
# [[Датотека:VLSI zadaci vremenski oblik 12.jpg|link=]]&lt;br /&gt;
# Ниједан од понуђених временских облика.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Померачи ==&lt;br /&gt;
У оваквим задацима дат је Фанел или Барел померач са одређеним карактеристикама, и траже се сви његови међурезултати.&lt;br /&gt;
&lt;br /&gt;
=== 1. задатак ===&lt;br /&gt;
Дат је Фанел померач (&#039;&#039;Funnel Shifter&#039;&#039;) са дванаестобитним улазом и петобитним излазом. Допунити вредности добијене у сваком од корака овог померача као и вредност излзаног податка за следеће улазне вредности:&lt;br /&gt;
&amp;lt;div data-solution=&amp;quot;select&amp;quot; data-options=&amp;quot;29,16,1A,27,7,14,5A,13,D,B,A7,9&amp;quot;&amp;gt;&lt;br /&gt;
* Улазни податак: 5A7&lt;br /&gt;
* Контролни сигнал (број померања удесно): 4&lt;br /&gt;
* Први корак: &amp;lt;span class=&amp;quot;spoiler&amp;quot;&amp;gt;5A&amp;lt;/span&amp;gt;&lt;br /&gt;
* Други корак: &amp;lt;span class=&amp;quot;spoiler&amp;quot;&amp;gt;5A&amp;lt;/span&amp;gt;&lt;br /&gt;
* Трећи корак: &amp;lt;span class=&amp;quot;spoiler&amp;quot;&amp;gt;5A&amp;lt;/span&amp;gt;&lt;br /&gt;
* Излазни податак: &amp;lt;span class=&amp;quot;spoiler&amp;quot;&amp;gt;1A&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Све вредности су написане у хексадецималном бројном систему.&lt;br /&gt;
&lt;br /&gt;
=== 2. задатак ===&lt;br /&gt;
Дат је Барел померач (&#039;&#039;Barrel Shifter&#039;&#039;) са осмобитним улазом и осмобитним излазом. Допунити вредности добијене у сваком од корака овог померача као и вредност излзаног податка за следеће улазне вредности:&lt;br /&gt;
&amp;lt;div data-solution=&amp;quot;select&amp;quot; data-options=&amp;quot;5E,F2,97,79,CB,E5,2F&amp;quot;&amp;gt;&lt;br /&gt;
* Улазни податак: 79&lt;br /&gt;
* Контролни сигнал (број померања удесно): 7&lt;br /&gt;
* Први корак: &amp;lt;span class=&amp;quot;spoiler&amp;quot;&amp;gt;97&amp;lt;/span&amp;gt;&lt;br /&gt;
* Други корак: &amp;lt;span class=&amp;quot;spoiler&amp;quot;&amp;gt;E5&amp;lt;/span&amp;gt;&lt;br /&gt;
* Трећи корак: &amp;lt;span class=&amp;quot;spoiler&amp;quot;&amp;gt;F2&amp;lt;/span&amp;gt;&lt;br /&gt;
* Излазни податак: &amp;lt;span class=&amp;quot;spoiler&amp;quot;&amp;gt;F2&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Све вредности су написане у хексадецималном бројном систему.&lt;br /&gt;
&lt;br /&gt;
=== 3. задатак [фебруар 2024 - група 1]===&lt;br /&gt;
Дат је Фанел померач (&#039;&#039;Funnel Shifter&#039;&#039;) са дванаестобитним улазом и петобитним излазом. Допунити вредности добијене у сваком од корака овог померача као и вредност излзаног податка за следеће улазне вредности:&lt;br /&gt;
&amp;lt;div data-solution=&amp;quot;select&amp;quot; data-options=&amp;quot;26,16,1A,18,7,14,13,6D,B,A7,9&amp;quot;&amp;gt;&lt;br /&gt;
* Улазни податак: 26D&lt;br /&gt;
* Контролни сигнал (број померања удесно): 5&lt;br /&gt;
* Први корак: &amp;lt;span class=&amp;quot;spoiler&amp;quot;&amp;gt;26&amp;lt;/span&amp;gt;&lt;br /&gt;
* Други корак: &amp;lt;span class=&amp;quot;spoiler&amp;quot;&amp;gt;26&amp;lt;/span&amp;gt;&lt;br /&gt;
* Трећи корак: &amp;lt;span class=&amp;quot;spoiler&amp;quot;&amp;gt;13&amp;lt;/span&amp;gt;&lt;br /&gt;
* Излазни податак: &amp;lt;span class=&amp;quot;spoiler&amp;quot;&amp;gt;13&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Све вредности су написане у хексадецималном бројном систему.&lt;br /&gt;
&lt;br /&gt;
=== 4. задатак [фебруар 2024 - група 2]===&lt;br /&gt;
Дат је Фанел померач (&#039;&#039;Funnel Shifter&#039;&#039;) са дванаестобитним улазом и петобитним излазом. Допунити вредности добијене у сваком од корака овог померача као и вредност излзаног податка за следеће улазне вредности:&lt;br /&gt;
&amp;lt;div data-solution=&amp;quot;select&amp;quot; data-options=&amp;quot;23,16,13,17,7,14,13,3F,B,F8,9&amp;quot;&amp;gt;&lt;br /&gt;
* Улазни податак: 3F8&lt;br /&gt;
* Контролни сигнал (број померања удесно): 7&lt;br /&gt;
* Први корак: &amp;lt;span class=&amp;quot;spoiler&amp;quot;&amp;gt;3F&amp;lt;/span&amp;gt;&lt;br /&gt;
* Други корак: &amp;lt;span class=&amp;quot;spoiler&amp;quot;&amp;gt;F&amp;lt;/span&amp;gt;&lt;br /&gt;
* Трећи корак: &amp;lt;span class=&amp;quot;spoiler&amp;quot;&amp;gt;7&amp;lt;/span&amp;gt;&lt;br /&gt;
* Излазни податак: &amp;lt;span class=&amp;quot;spoiler&amp;quot;&amp;gt;7&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Све вредности су написане у хексадецималном бројном систему.&lt;br /&gt;
&lt;br /&gt;
== Верификација без UVM ==&lt;br /&gt;
У оваквим задацима дат је код из примера верификације без коришћења UVM стандарда са вежби и пита се шта се тачно дешава у коду и зашто.&lt;br /&gt;
&lt;br /&gt;
=== 1. задатак ===&lt;br /&gt;
У наставку је дат део кода &#039;&#039;Driver&#039;&#039;-a.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;systemverilog&amp;quot;&amp;gt;&lt;br /&gt;
class Driver;&lt;br /&gt;
&lt;br /&gt;
    virtual reg8_if vif;&lt;br /&gt;
    mailbox mbx;&lt;br /&gt;
    event done;&lt;br /&gt;
&lt;br /&gt;
    task run();&lt;br /&gt;
        @(posedge vif.clk);&lt;br /&gt;
        forever begin&lt;br /&gt;
            dut_item item;&lt;br /&gt;
            mbx.get(item);&lt;br /&gt;
            // ...&lt;br /&gt;
            @(posedge vif.clk);&lt;br /&gt;
            -&amp;gt;done;&lt;br /&gt;
        end&lt;br /&gt;
    endtask&lt;br /&gt;
&lt;br /&gt;
endclass&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Koja класа чека на догађај &amp;lt;code&amp;gt;done&amp;lt;/code&amp;gt; који се овде окида?&lt;br /&gt;
&lt;br /&gt;
Напомена: Сматрати да се процес верификације врши без коришћења UVM стандарда.&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;single&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;Driver&#039;&#039;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;&#039;&#039;Generator&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
# &#039;&#039;Monitor&#039;&#039;&lt;br /&gt;
# &#039;&#039;Scoreboard&#039;&#039;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Објашњење:&#039;&#039;&#039; &amp;lt;span class=&amp;quot;spoiler&amp;quot; data-solution=&amp;quot;explanation&amp;quot;&amp;gt;Први пример са вежби. Генератор чека на овај догађај како не би генерисао више предмета него што драјвер може да конзумира.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 2. задатак ===&lt;br /&gt;
У наставку је дат део кода &#039;&#039;Driver&#039;&#039;-a.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;systemverilog&amp;quot;&amp;gt;&lt;br /&gt;
class Driver;&lt;br /&gt;
&lt;br /&gt;
    virtual reg8_if vif;&lt;br /&gt;
    mailbox mbx;&lt;br /&gt;
    event done;&lt;br /&gt;
&lt;br /&gt;
    task run();&lt;br /&gt;
        @(posedge vif.clk);&lt;br /&gt;
        forever begin&lt;br /&gt;
            dut_item item;&lt;br /&gt;
            mbx.get(item);&lt;br /&gt;
            // ...&lt;br /&gt;
            @(posedge vif.clk);&lt;br /&gt;
            -&amp;gt;done;&lt;br /&gt;
        end&lt;br /&gt;
    endtask&lt;br /&gt;
&lt;br /&gt;
endclass&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Koja класа поставља &amp;lt;code&amp;gt;item&amp;lt;/code&amp;gt; у &#039;&#039;mailbox&#039;&#039; који се овде дохвата?&lt;br /&gt;
&lt;br /&gt;
Напомена: Сматрати да се процес верификације врши без коришћења UVM стандарда.&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;single&amp;quot;&amp;gt;&lt;br /&gt;
# &#039;&#039;Driver&#039;&#039;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;&#039;&#039;Generator&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
# &#039;&#039;Monitor&#039;&#039;&lt;br /&gt;
# &#039;&#039;Scoreboard&#039;&#039;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== UVM ==&lt;br /&gt;
Ова питања се обично односе на било шта из UVM стандарда.&lt;br /&gt;
&lt;br /&gt;
=== 1. задатак ===&lt;br /&gt;
Које класе наслеђују класу &amp;lt;code&amp;gt;uvm_transaction&amp;lt;/code&amp;gt;?&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;multiple&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;&amp;lt;code&amp;gt;uvm_sequence_item&amp;lt;/code&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;uvm_driver&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;uvm_monitor&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;uvm_sequencer&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;uvm_test&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;&amp;lt;code&amp;gt;uvm_sequence&amp;lt;/code&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 2. задатак ===&lt;br /&gt;
Које фазе кроз које пролазе UVM компоненте се реализују као &#039;&#039;task&#039;&#039; уместо као функције?&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot; data-solution=&amp;quot;multiple&amp;quot;&amp;gt;&lt;br /&gt;
# build&lt;br /&gt;
# connect&lt;br /&gt;
# end of elaboration&lt;br /&gt;
# start of simulation&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;run&amp;lt;/span&amp;gt;&lt;br /&gt;
# extract&lt;br /&gt;
# check&lt;br /&gt;
# report&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Рачунарски VLSI системи]]&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Milos</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9F%D0%A0%D0%9C/%D0%9F%D1%80%D0%B5%D0%B4%D1%80%D0%BE%D0%BA_2022&amp;diff=7975</id>
		<title>ПРМ/Предрок 2022</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9F%D0%A0%D0%9C/%D0%9F%D1%80%D0%B5%D0%B4%D1%80%D0%BE%D0%BA_2022&amp;diff=7975"/>
		<updated>2025-08-27T01:01:34Z</updated>

		<summary type="html">&lt;p&gt;Milos: /* Rešenje */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
{{нерешено}}&lt;br /&gt;
&#039;&#039;&#039;Предрок 2022. године&#039;&#039;&#039; је одржан 3. децембра у сали 70. Постојала је могућност изласка на испит и у јануарском року за студенте незадовољне оценом. Испит је рађен на &#039;&#039;Moodle&#039;&#039; платформи, без доступних окружења уз доступне материјале са предавања.&lt;br /&gt;
&lt;br /&gt;
== Задаци ==&lt;br /&gt;
=== 1. задатак ===&lt;br /&gt;
==== Postavka ====&lt;br /&gt;
Написати команде у Латеху којима се реконструише текст и форматирање са слике испод (овде преписано као текст).&lt;br /&gt;
# Rešiti sistem jednačina na &#039;&#039;dva načina&#039;&#039;, korišćenjem inverzne matrice i primenom Kramerovih pravila:&lt;br /&gt;
#: &amp;lt;div class=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;math&amp;gt;2x +3y - 5z = -7&amp;lt;/math&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
#: &amp;lt;div class=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;math&amp;gt;-3x +2y - z = -9&amp;lt;/math&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
#: &amp;lt;div class=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;math&amp;gt;4x -y +  2z = 17&amp;lt;/math&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
#: (z и решење треба да буду поравнати).&lt;br /&gt;
# Izračunati integral:&lt;br /&gt;
#: &amp;lt;div class=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;math&amp;gt;I = \int_0^{\frac{\pi}{2}} \frac{dx}{2 \sin{x} + 3 \cos{x}}.                                             (1)&amp;lt;/math&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Rešenje ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;latex&amp;quot;&amp;gt;&lt;br /&gt;
\begin{enumerate}&lt;br /&gt;
    \item Re\v siti sistem jedna\v cina na \textit{dva na\v cina}, kori\v s\&#039; cenjem inverzne matrice i \\ primenom Kramerovih pravila:&lt;br /&gt;
    \begin{align*}&lt;br /&gt;
        2x + 3y - 5z &amp;amp;= -7 \\&lt;br /&gt;
        -3x + 2y + z &amp;amp;= -9 \\&lt;br /&gt;
        4x - y + 2z &amp;amp;= 17&lt;br /&gt;
    \end{align*}&lt;br /&gt;
&lt;br /&gt;
    \item Izra\v cunati integral&lt;br /&gt;
    \begin{equation}&lt;br /&gt;
        I = \int_{0}^{\frac{\pi}{2}} \frac{dx}{2\sin{x} + 3\cos{x}}&lt;br /&gt;
    \end{equation}&lt;br /&gt;
\end{enumerate}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 2. задатак ===&lt;br /&gt;
==== Postavka ====&lt;br /&gt;
Написати команде у GNU Octave којима се:&lt;br /&gt;
* дефинише функција &amp;lt;math&amp;gt;f(x) = \frac{\cos^2{x}}{1+\sin^2{x}}&amp;lt;/math&amp;gt;;&lt;br /&gt;
* црта график функције &amp;lt;math&amp;gt;f(x)&amp;lt;/math&amp;gt;;&lt;br /&gt;
* израчунава вредност интеграла &amp;lt;math&amp;gt;I = \int_0^{\pi} f(x) dx &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Rešenje ====&lt;br /&gt;
&lt;br /&gt;
=== 3. задатак ===&lt;br /&gt;
==== Postavka ====&lt;br /&gt;
Лапласова трансформација функције &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; се дефинише на следећи начин: &amp;lt;math&amp;gt;L(s) = \int_0^{+\infty} f(t) e^{-st} dt&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Написати команде у &#039;&#039;SageMath&#039;&#039; којима се одређује Лапласова трансформација функције &amp;lt;math&amp;gt;f(t) = 5te^{t-3}&amp;lt;/math&amp;gt;. (Напомена: претпоставити да је &amp;lt;math&amp;gt;s&amp;gt;1&amp;lt;/math&amp;gt;.)&lt;br /&gt;
&lt;br /&gt;
==== Rešenje ====&lt;br /&gt;
&lt;br /&gt;
=== 4. задатак ===&lt;br /&gt;
==== Postavka ====&lt;br /&gt;
Написати команде у Python-у којима се одређују тангента и нормала функције &amp;lt;math&amp;gt;f(x) = x^2-3x+2&amp;lt;/math&amp;gt; у тачки (2,0).&lt;br /&gt;
&lt;br /&gt;
Написати команде у Python-у за цртање дате параболе и њене тангенте.&lt;br /&gt;
&lt;br /&gt;
==== Rešenje ====&lt;br /&gt;
&lt;br /&gt;
=== 5. задатак ===&lt;br /&gt;
==== Postavka ====&lt;br /&gt;
Написати команде у Python-у које решавају задати систем једначина на два начина, симболички и нумерички.&lt;br /&gt;
* &amp;lt;math&amp;gt;2x+3y-5z = -7&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;-3x+2y+z = -9&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;4x-y+2z = 17&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Rešenje ====&lt;br /&gt;
&lt;br /&gt;
== Напомене ==&lt;br /&gt;
* За ствари које нису писале у материјалима, признавано је било шта.&lt;br /&gt;
* За &#039;&#039;Octave&#039;&#039;, уколико се дефинише функција, мора се у коментару нагласти да се то ради у посебном фајлу који се зове као функција, иначе -1 поен.&lt;br /&gt;
* Иако је при обиласку рекла да је то у реду, професорка је скинула поене за писање ошишаном латиницом у задатку са &#039;&#039;LaTeX&#039;&#039;-ом.&lt;br /&gt;
* За не дефинисање симбола у Пајтону скидан је један поен.&lt;br /&gt;
&lt;br /&gt;
[[Категорија:ПРМ]]&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Milos</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9E%D0%9E1/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7127</id>
		<title>ОО1/Питања</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9E%D0%9E1/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=7127"/>
		<updated>2024-01-03T05:32:49Z</updated>

		<summary type="html">&lt;p&gt;Milos: /* Preklapanje operatora */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
{{nerešeno}}&lt;br /&gt;
Ispod su sakupljena razna pitanja sa prezentacija iz predmeta, zasad bez rešenja. Namenjena su za obnavljanje gradiva pred kolokvijum, kako bi studenti mogli da testiraju svoje znanje odgovaranjem na njih.&lt;br /&gt;
&lt;br /&gt;
== Uvod ==&lt;br /&gt;
# Prilikom izvođenja, da li se stari programski kod mora menjati, opet prevoditi i opet testirati? - &#039;&#039;&#039;Ne.&#039;&#039;&#039;&lt;br /&gt;
# Šta je apstrakcija? - &#039;&#039;&#039;Prepoznavanje bitnih svojstava skupova sličnih objekata i predstavljanje zajedničkom klasom.&#039;&#039;&#039;&lt;br /&gt;
# Koja su 3 značajna napretka u evoluciji programskih jezika? - &#039;&#039;&#039;Apstrakcija izraza (FORTRAN), apstrakcija kontrole (Algol60) i apstrakcija podataka (Pascal).&#039;&#039;&#039;&lt;br /&gt;
# Od koja dva dela se svaka klasa sastoji? - &#039;&#039;&#039;Ugovor (interfejs) i implementacija.&#039;&#039;&#039;&lt;br /&gt;
# Šta su objekti (i u užem i u širem smislu)? - &#039;&#039;&#039;Objekti su primerci odgovarajućih klasa.&#039;&#039;&#039;&lt;br /&gt;
# Da li je polimorfizam statički ili dinamički mehanizam? - &#039;&#039;&#039;Dinamički.&#039;&#039;&#039;&lt;br /&gt;
# Šta je polimorfizam? - &#039;&#039;&#039;Ponašanje objekta ne zavisi samo od tipa pokazivača (upućivača) koji pokazuje na objekat već od tipa pokazivanog (upućivanog) objekta koji je poznat u vreme izvršenja.&#039;&#039;&#039;&lt;br /&gt;
# Šta su objektno-bazirani jezici, a šta objektno-orijentisani? - &#039;&#039;&#039;Objektno-zasnovani jezici podržavaju: apstrakciju, kapsulaciju i modularnost. Objektno-orijentisani jezici dodatno podržavaju princip nasleđivanja.&#039;&#039;&#039;&lt;br /&gt;
# Da li je mehanizam obrade izuzetaka svojstven samo za objektno-orijentisane jezike? - &#039;&#039;&#039;Ne.&#039;&#039;&#039;&lt;br /&gt;
# Da li je mehanizam preklapanja operatora svojstven samo za objektno-orijentisane jezike? - &#039;&#039;&#039;Ne.&#039;&#039;&#039;&lt;br /&gt;
# Da li se mogu preklopiti svi operatori? - &#039;&#039;&#039;Ne.&#039;&#039;&#039;&lt;br /&gt;
# Da li je generički mehanizam statički ili dinamički? - &#039;&#039;&#039;Statički.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Proširenja C ==&lt;br /&gt;
# Šta je deklaracija, a šta definicija? - &#039;&#039;&#039;Deklaracija je iskaz koji samo uvodi neko ime (identifikator) u program i govori prevodiocu kojoj jezičkoj kategoriji pripada. Definicija je ona deklaracija koja: stvara objekat, navodi telo funkcije ili u potpunosti navodi strukturu korisničkog tipa.&#039;&#039;&#039;&lt;br /&gt;
# Koliko puta se smeju ponoviti deklaracije i definicije jednog istog objekta/funkcije/tipa? - &#039;&#039;&#039;U programu može da postoji samo jedna definicija (jednog objekta, funkcije, tipa) i proizvoljno mnogo deklaracija.&#039;&#039;&#039;&lt;br /&gt;
# Kakva može promenljiva da bude? - &#039;&#039;&#039;Prema dosegu: globalna ili lokalna. Prema veku trajanja: statička, automatska, dinamička, privremena (tranzijentna).&#039;&#039;&#039;&lt;br /&gt;
# Šta je l-vrednost, a šta d-vrednost? - &#039;&#039;&#039;L-vrednost (lvalue) je izraz koji upućuje na objekat (u širem smislu) ili funkciju. D-vrednost (rvalue) je izraz koji nije lvrednost.&#039;&#039;&#039;&lt;br /&gt;
# Da li uvek sa leve strane znaka = može da stoji l-vrednost? - &#039;&#039;&#039;Ne, mogu samo da stoje promenljive l-vrednosti, tj. svaka l-vrednost koja nije ime funkcije, ime niza, ili konstantan objekat.&#039;&#039;&#039;  &lt;br /&gt;
# Koji operatori zahtevaju da im operandi budu l-vrednosti? - &#039;&#039;&#039;&amp;amp;, postfiksni: ++,  - -, levi operandi dodele vrednosti&#039;&#039;&#039; &lt;br /&gt;
# Koji operatori bi trebalo da vrate l-vrednost? - &#039;&#039;&#039;unarni *, [ ], prefiksni ++, - -, operatori dodele vrednosti&#039;&#039;&#039; &lt;br /&gt;
# Koju oblast važenja imaju i koliko traju: lokalna imena, globalna imena, statički objekti, dinamički objekti, automatski objekti, privremeni objekti? - &#039;&#039;&#039;Automatski objekti: od definicije do napustanja oblasti vazenja, staticki objekat: od definicije do kraja izvrsavanja main-a, dinamicki objekat: zivotni vek kontrolise programer (stvaraju se pomocu new, brisu se pomocu delete). Privremeni objekat ima kratak i nedefinisan zivotni vek.&#039;&#039;&#039;  &lt;br /&gt;
# Da li je moguće na neki način pristupiti globalnom imenu ukoliko je ono sakriveno od strane lokalnog imena, a lokalnom imenu u spoljašnjem bloku ukoliko je ono sakriveno od strane lokalnog imena u unutrašnjem bloku? - &#039;&#039;&#039;Globalnom imenu moguce je pristupiti pomocu ‘::’, a lokalnom imenu nije moguce pristupiti.&#039;&#039;&#039; (proveriti!!!) &lt;br /&gt;
# Da li se u uslovu if može definisati neka promenljiva i ako da kakva mora da bude i koliko ona traje? - &#039;&#039;&#039;Moze da se definise promenljiva, i njen vek trajanja je od definicije do kraja then, tj. else naredbe.&#039;&#039;&#039;&lt;br /&gt;
# Da li je unutar funkcije moguće imati promenljivu istog imena kao neki od parametara i ako ne koji je razlog? - &#039;&#039;&#039;Da, unutar funkcije je moguće imati promenljivu istog imena kao neki od parametara.&#039;&#039;&#039; &lt;br /&gt;
# Koju oblast važenja imaju članovi strukture/klase? &#039;&#039;&#039;Imaju oblast važenja te iste klase.&#039;&#039;&#039; &lt;br /&gt;
# Na koje sve načine se može pristupiti imenima članovima klase, van te klase? - &#039;&#039;&#039;Preko operatora: . (levi operand objekat),  -&amp;gt; (levi operand pokazivač na objekat), :: (levi operand ime klase).&#039;&#039;&#039;&lt;br /&gt;
# Koju oblast važenja imaju labele? - &#039;&#039;&#039;Imaju oblast važenja funkcije u kojoj se navode.&#039;&#039;&#039;&lt;br /&gt;
# Da li je moguće sa goto naredbom preskočiti definiciju neke promenljive i skočiti na labelu koja se nalazi nakon nje? - &#039;&#039;&#039;Ne, nije moguće koristiti goto naredbu da preskočite definiciju promenljive u C++. goto naredba se može koristiti za skakanje na određenu oznaku (labelu) unutar iste funkcije ili bloka koda, ali ne može preskočiti definiciju promenljive. Definicija promenljive mora biti uključena u tok izvršavanja programa.&#039;&#039;&#039; &lt;br /&gt;
# Kada se kreiraju statički objekti? - &#039;&#039;&#039;Globalni staticki objekti, stvaraju se jednom, na pocetku izvrsavanja programa. Lokalni staticki objekti stvaraju se pri prvom nailasku toka programa na njihovu definiciju.&#039;&#039;&#039;  &lt;br /&gt;
# Da li je C++ strogo ili labavo tipiziran jezik? - &#039;&#039;&#039;C++ je hibridan jezik, pri manipulisanju prostim tipovima je labavo tipizaran, dok sa slozenim korisnickim tipovima je strogo tipiziran.&#039;&#039;&#039;  &lt;br /&gt;
# Koja je razlika između 4 kast operatora i kad se koji koristi? - &#039;&#039;&#039;Staticki kast koristi se za prenosive konverzije (izmedju numerickih tipova, kastova koje definise programer i nekih pokazivaca u void*), implicitno se vrsi kad je bezbedno. Reinterpretirajuci kast namenjen je za konverzije logicki neslicnih tipova (int i pokazivac, npr). Konstanta konverzija koristi se za dodavanje ili uklanjanje const. Dodavanje je sigurno, uklanjanje nije. Dinamicki kast jos postoji.&#039;&#039;&#039;  &lt;br /&gt;
# Na koja dva načina možemo implementirati kastovanje (navesti mane ukoliko ih ima neki način)? - &#039;&#039;&#039;Static_cast i Dynamic_cast. Mana dynamic_cast-a je da se koristi u kontekstu polimorfizma i zahteva da klase imaju bar jedan virtualni metod. Takođe, dynamic_cast je sporiji od static_cast-a, jer uključuje provere u vreme izvršavanja (runtime checks) i može vratiti nullptr kada konverzija nije moguća.&#039;&#039;&#039; &lt;br /&gt;
# Šta radi operator decltype, da li računa izraz? - &#039;&#039;&#039;Decltype dodeljuje onaj tip podataka promenljivoj koji se se nalazi u zagradi decltype(izraz), ali taj izraz se nikad ne izracunava.&#039;&#039;&#039;  &lt;br /&gt;
# Koja je bitna razlika između decltype i auto? - &#039;&#039;&#039;auto dodeljuje tip na osnovu izraza inicijalizatora (onoga sto se nalazi sa desne strane operatora dodele vrednosti), a decltype odredjuje na osnovu izraza u zagradi: decltype(izraz).&#039;&#039;&#039; &lt;br /&gt;
# Da li se auto može koristiti sa povratnom vrednosti funkcije i u kojim slučajevima? - &#039;&#039;&#039;Moze, bitno je da se funkcija koja vraca odredjeni tip pomocu return, bude pre toga definisana, a ne samo deklarisana.&#039;&#039;&#039;  &lt;br /&gt;
# Kog je tipa string literal u C++ (&amp;quot;abcd&amp;quot;)? - &#039;&#039;&#039;Tipa string.&#039;&#039;&#039;  &lt;br /&gt;
# Kakvu razliku pravi pozicija gde se nalazi reč const u definiciji pokazivača? - &#039;&#039;&#039;Kad se const nadje ispred parametra koji je pokazivac, obezbedjuje se da funkcija ne menja objekat, a ispred tipa rezultata funkcije, obezbedjuje se nepromenljivost privremenog objekta rezultata.&#039;&#039;&#039; &lt;br /&gt;
# Na koje načine je moguće pristupiti imenu iz nekog prostora imena? - &#039;&#039;&#039;Razresenjem doksega: A::x; uvozom datog imena: using A::x; uvozom svih imena iz prostora imena: using namespace A.&#039;&#039;&#039; &lt;br /&gt;
# Da li je validno imati objekat istog imena kao i neki tip? - &#039;&#039;&#039;U jeziku C++, tehnički je dozvoljeno kreirati objekat sa imenom koje je isto kao ime nekog tipa.&#039;&#039;&#039; &lt;br /&gt;
# Da li je moguće imati isto ime (identifikator) za dve različite stvari u jednom prostoru imena, tj. da ime nije jednoznačno?  - &#039;&#039;&#039;Nije moguce, mora da bude jednoznacno.&#039;&#039;&#039;  &lt;br /&gt;
# Koji operatori su definisani za tipove nabrajanja (enum)? - &#039;&#039;&#039;Definisan je samo operator dodele vrednosti.&#039;&#039;&#039;  &lt;br /&gt;
# Koje konverzije postoje za tipove nabrajanja? - &#039;&#039;&#039;Implicitna konverzija u osnovne tipove kao što su int, char, bool itd.  Vrednost iz tipa nabrajanja može se eksplicitno konvertovati u druge tipove ili obrnuto koristeći statički kast (static_cast).&#039;&#039;&#039; &lt;br /&gt;
# Da li je moguće definisati koji tip koristi &amp;quot;under-the-hood&amp;quot; tip nabrajanja, da se ne koristi uvek int, i kako? - &#039;&#039;&#039;Moguce je, pomocu eksplicitnog navodjenja tipa koji se koristi za tipa nabrajanja (static_cast).&#039;&#039;&#039;  &lt;br /&gt;
# Koja je razlika između običnog tipa nabrajanja i tipa nabrajanja sa ograničenim dosegom (enum class)? - &#039;&#039;&#039;Imena iz običnih tipova nabrajanja dele globalni opseg imena. Enumeracije sa ograničenim dosegom uvode lokalni opseg imena, što znači da imena enumeracija ne ulaze u globalni opseg imena.&#039;&#039;&#039;  &lt;br /&gt;
# Kako se koristi incijalizatorska lista prilikom kreiranja unije? - &#039;&#039;&#039;Moze da se postavi samo prvo polje.&#039;&#039;&#039; &lt;br /&gt;
# Šta se dešava ukoliko inicijalizatorska lista sadrži više vrednosti nego što ima podataka ta struktura? - &#039;&#039;&#039;Visak je greska.&#039;&#039;&#039;  &lt;br /&gt;
# Da li se inicijalizatorske liste mogu koristiti pri dodeli vrednosti? - &#039;&#039;&#039;Mogu.&#039;&#039;&#039; &lt;br /&gt;
# Kako se pristupa poljima bezimene unije/strukture? - &#039;&#039;&#039;Polja anonimnih unija i struktura se pristupaju direktno preko objekta koji ih sadrži.&#039;&#039;&#039; &lt;br /&gt;
# Da li je unija/struktura bezimena ako nema ime a ipak kreiramo bar jedan objekat ili pokazivač tog tipa? - &#039;&#039;&#039;Nije.&#039;&#039;&#039; &lt;br /&gt;
# Na koji način radi mutable polje? - &#039;&#039;&#039;Takvo polje moze da se menja cak i za nepromenljiv objekat strukture.&#039;&#039;&#039;  &lt;br /&gt;
# Šta se dešava ukoliko operator new ne uspe da alocira memoriju jer nema dovoljno prostora? - &#039;&#039;&#039;Izbacuje se izuzetak bad_alloc.&#039;&#039;&#039; &lt;br /&gt;
# Šta se dešava ukoliko pokušamo da obrišemo nullptr sa delete operatorom? - &#039;&#039;&#039;Operator delete nema efekta.&#039;&#039;&#039;&lt;br /&gt;
# Šta vraća operator delete? &#039;&#039;&#039;Ne vraca rezultat (tip je void).&#039;&#039;&#039; &lt;br /&gt;
# Ukoliko dinamički alociramo matricu (više-dimenzioni niz, a ne niz nizova (&amp;lt;code&amp;gt;new Tacka[10][10]&amp;lt;/code&amp;gt;)) da li dimenzije mogu biti promenljivi izrazi ili moraju biti konstante? - &#039;&#039;&#039;Sve dimenzije osim prve moraju da budu konstante, a taj promenljiv izraz mora da bude takav da moze da se izracuna  u trenutku izvrsavanja naredbe sa operatorom new.&#039;&#039;&#039; &lt;br /&gt;
# Da li je moguće napraviti niz referenci, pokazivač na referencu, referencu na pokazivač ili referencu na referencu? - &#039;&#039;&#039;Nije moguce napraviti niz referenci, referencu na referencu, pokazivac na referencu, ali je moguce napraviti referencu na pokazivac.&#039;&#039;&#039; &lt;br /&gt;
# Da li &amp;quot;moderna&amp;quot; verzija for-petlje (&amp;lt;code&amp;gt;for(tip prom: niz) naredba&amp;lt;/code&amp;gt;) u svakom ciklusu petlje sadrži referencu ili kopiju tekućeg elementa niza, tj. da li promena objekta prom utiče na niz? - &#039;&#039;&#039;Sadrzi kopiju tekuceg elementa, a promena objekta prom ne utice na niz.&#039;&#039;&#039;  &lt;br /&gt;
# Da li je referenca na d-vrednost takođe d-vrednost ili je l-vrednost? - &#039;&#039;&#039;Referenca na d-vrednost je l-vrednost.  &#039;&#039;&#039; &lt;br /&gt;
# Da li referenca na d-vrednost može upućivati na konstantnu/nepromenljivu d-vrednost? - &#039;&#039;&#039;Moze.&#039;&#039;&#039; &lt;br /&gt;
# Da li parametri funkcije mogu biti tipa reference na d-vrednost? - &#039;&#039;&#039;Mogu.&#039;&#039;&#039; &lt;br /&gt;
# Da li je dozvoljeno inicijalizovati referencu na d-vrednost pomoću l-vrednosti? - &#039;&#039;&#039;Nije.&#039;&#039;&#039; &lt;br /&gt;
# Gde treba da se nalazi deklaracija funkcije koja se neposredno ugrađuje (&amp;lt;code&amp;gt;inline&amp;lt;/code&amp;gt; funkcije)? - &#039;&#039;&#039;Deklaracija funkcije koja se neposredno ugrađuje (inline funkcija) obično se nalazi u zaglavlju.&#039;&#039;&#039;&lt;br /&gt;
# Kada se računaju podrazumevane vrednosti argumenata? - &#039;&#039;&#039;Ukoliko se pri pozivu funkcije ne navedu druge vrednosti argumenata.&#039;&#039;&#039; &lt;br /&gt;
# Da li je mehanizam preklapanja imena funkcije statički ili dinamički? - &#039;&#039;&#039;Staticki.&#039;&#039;&#039;  &lt;br /&gt;
# Da li je dovoljno da se samo tipovi rezultata razlikuju da bi postojale dve funkcije istog imena? - &#039;&#039;&#039;Jeste.&#039;&#039;&#039;  &lt;br /&gt;
# Da li rezultat ternarnog operatora može biti l-vrednost? - &#039;&#039;&#039;Moze.&#039;&#039;&#039;  &lt;br /&gt;
# Da li su reinterpretirajuća i konstantna konverzija bezbedne? - &#039;&#039;&#039;Reinterpretirajuca konverzija nije bezbedna.  Konstantna jeste ukoliko se dodaje const, nije ako se uklanja.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Klase i objekti ==&lt;br /&gt;
# Kako se formalnije nazivaju podaci i funkcije koji su deo klase? - &#039;&#039;&#039;Podaci = atributi, funkcije = metodi.&#039;&#039;&#039;&lt;br /&gt;
# Kako se naziva objekat koji poziva neki metod, a kako onaj čiji je metod pozvan? - &#039;&#039;&#039;Objekat koji poziva metod naziva se objekat-klijent, a objekat čiji se metod poziva je objekat-server.&#039;&#039;&#039;&lt;br /&gt;
# Da li može biti više sekcija vidljivosti iste vrste? - &#039;&#039;&#039;Može.&#039;&#039;&#039;&lt;br /&gt;
# Koja je podrazumevana sekcija, ako se ne navede nijedna druga? - &#039;&#039;&#039;Privatna (private).&#039;&#039;&#039;&lt;br /&gt;
# Da li atribut klase može biti tipa iste te klase, a šta važi ako je referenca ili pokazivač na taj tip? - &#039;&#039;&#039;Atributi ne mogu da budu tipa klase koja se definiše, ali mogu da budu pokazivači ili reference na tu klasu.&#039;&#039;&#039;&lt;br /&gt;
# Da li rezultati i parametri metoda mogu biti tipa iste te klase, a šta važi ako je referenca ili pokazivač na taj tip? - &#039;&#039;&#039;Vrednost rezultata, kao i parametri mogu da budu tipa klase čiji su članovi kao i tipa pokazivača ili reference na tu klasu.&#039;&#039;&#039;&lt;br /&gt;
# Na koji način možemo baratati sa objektima neke klase ukoliko imamo njenu deklaraciju, a ne i definiciju? - &#039;&#039;&#039;Pre definicije klase, a posle deklaracije mogu da se definišu pokazivači i reference na tu klasu, a ne mogu da se definišu objekti te klase.&#039;&#039;&#039;&lt;br /&gt;
# Koji operatori su ugrađeni, podrazumevani? - &#039;&#039;&#039;= &amp;amp; * . -&amp;gt; []&#039;&#039;&#039;&lt;br /&gt;
# Kog je tipa pokazivač &amp;lt;code&amp;gt;this&amp;lt;/code&amp;gt;? - &#039;&#039;&#039;Tip ovog pokazivača je &amp;quot;konstantni pokazivač na klasu čiji je metod član&amp;quot;.&#039;&#039;&#039;&lt;br /&gt;
# Da li je dozvoljeno u metodi imati parametar istog imena kao i neki atribut te klase? - &#039;&#039;&#039;Da.&#039;&#039;&#039;&lt;br /&gt;
# Šta su metodi inspektori, a šta mutatori? - &#039;&#039;&#039;Metod koji ne menja stanje objekta je inspektor, a metod koji može i da menja stanje objekta je mutator.&#039;&#039;&#039;&lt;br /&gt;
# Kog je tipa pokazivač &amp;lt;code&amp;gt;this&amp;lt;/code&amp;gt; u inspektor metodama? - &#039;&#039;&#039;const X*const&#039;&#039;&#039;&lt;br /&gt;
# U koju svrhu se koristi modifikator &amp;lt;code&amp;gt;volatile&amp;lt;/code&amp;gt;? - &#039;&#039;&#039;Kao napomena prevodiocu da ne vrši neke optimizacije jer objekat može da promeni stanje nezavisno od toka funkcije.&#039;&#039;&#039;&lt;br /&gt;
# Da li je dovoljno da se dva metoda razliku samo u modifikatorima? - &#039;&#039;&#039;Da.&#039;&#039;&#039;&lt;br /&gt;
# Koji sve modifikatori postoje? - &#039;&#039;&#039;const, volatile, &amp;amp;, &amp;amp;&amp;amp;&#039;&#039;&#039;&lt;br /&gt;
# Koji je tip rezultata konstruktora? - &#039;&#039;&#039;Konstruktor nema tip rezultata (ni void).&#039;&#039;&#039;&lt;br /&gt;
# Da li konstruktor može imati parametar tipa te klase? - &#039;&#039;&#039;Ne može ako je jedini parametar.&#039;&#039;&#039;&lt;br /&gt;
# Kada se briše podrazumevani ugrađeni konstruktor? - &#039;&#039;&#039;Definisanjem nekog novog konstruktora se suspenduje ugrađeni.&#039;&#039;&#039;&lt;br /&gt;
# Da li je moguće kreirati niz objekata neke klase ukoliko ta klasa nema podrazumevani konstruktor? - &#039;&#039;&#039;Ne, jer se podrazumevani konstruktor poziva za svaki element niza.&#039;&#039;&#039;&lt;br /&gt;
# Da li je dozvoljeno ostaviti prazne zagrade pri definiciji automatskog objekta? - &#039;&#039;&#039;Nisu dozvoljene prazne zagrade () jer bi to bi se prevelo kao deklaracija.&#039;&#039;&#039;&lt;br /&gt;
# Koja je svrha &amp;lt;code&amp;gt;explicit&amp;lt;/code&amp;gt; reči kod konstruktora? - &#039;&#039;&#039;Sprečavanje implicitne konverzije.&#039;&#039;&#039;&lt;br /&gt;
# Kojim redosledom se izvršava incijalizacija atributa klase? - &#039;&#039;&#039;Redosledom navođenja u klasi.&#039;&#039;&#039;&lt;br /&gt;
# Da li atribut može da ima inicijalizator i u telu klase i u definiciji konstruktora? - &#039;&#039;&#039;Može. Ako atribut ima inicijalizator u telu klase i u definiciji konstruktora, primenjuje se inicijalizator iz definicije konstruktora.&#039;&#039;&#039;&lt;br /&gt;
# Kada je inicijalizacija atributa neophodna? - &#039;&#039;&#039;Inicijalizacija je neophodna: kada ne postoji podrazumevani konstruktor klase atributa, kada je atribut nepromenljiv podatak i kada je atribut referenca.&#039;&#039;&#039;&lt;br /&gt;
# Šta sme da postoji u listi incijalizatora kod delegirajućeg konstruktora? - &#039;&#039;&#039;Poziv drugog (ciljnog) konstruktora iste klase.&#039;&#039;&#039;&lt;br /&gt;
# Da li je prevodilac otkriva rekurzivno delegiranje (da se konstruktori ciklično pozivaju)? - &#039;&#039;&#039;Ne mora da je otkrije i tada se ulazi u beskonačnu rekurziju.&#039;&#039;&#039;&lt;br /&gt;
# Kako se implicitno briše kopirajući, a kako premeštajući konstruktor? - &#039;&#039;&#039;Kopirajući konstruktor implicitno se suspenduje pisanjem premeštajućeg konstruktora ili premeštajućeg operatora dodele. Ugrađeni premeštajući konstruktor se suspenduje ako se eksplicitno definiše: premeštajući konstruktor, kopirajući konstruktor, destruktor ili operator dodele.&#039;&#039;&#039;&lt;br /&gt;
# Kog tipa može biti parametar konstruktora kopije i da li može imati još parametara sa podrazumevanim vrednostima? - &#039;&#039;&#039;Konstruktor kopije ima parametar tipa XX&amp;amp; ili const XX&amp;amp;. Ostali  parametri kopirajućeg konstruktora moraju da imaju podrazumevane vrednosti.&#039;&#039;&#039;&lt;br /&gt;
# Zašto se mora eksplicitno pisati premeštajući konstruktor ukoliko nam je potreban, tj. zašto nam nije dovoljan ugrađeni? - &#039;&#039;&#039;Zato što ugrađeni premeštajući konstruktor pravi plitku kopiju originala.&#039;&#039;&#039;&lt;br /&gt;
# Kog tipa može biti parametar konstruktora premeštanja i da li može imati još parametara sa podrazumevanim vrednostima? - &#039;&#039;&#039;Parametar premeštajućeg konst. je referenca na dvrednost: XX&amp;amp;&amp;amp;. Ostali parametri moraju da imaju podrazumevane vrednosti.&#039;&#039;&#039;&lt;br /&gt;
# Koji konstruktor se može pozvati ukoliko premeštajući ne postoji? - &#039;&#039;&#039;Ako u klasi ne postoji premeštajući, poziva se kopirajući konstruktor.&#039;&#039;&#039;&lt;br /&gt;
# Kog tipa rezultata je destruktor? - &#039;&#039;&#039;Nema tip rezultata.&#039;&#039;&#039;&lt;br /&gt;
# Da li destruktor može imati parametre i da li oni mogu imati podrazumevane vrednosti? - &#039;&#039;&#039;Ne može da ima parametre.&#039;&#039;&#039;&lt;br /&gt;
# Da li se destruktor može eksplicitno pozvati? - &#039;&#039;&#039;Može, npr. x.~X().&#039;&#039;&#039;&lt;br /&gt;
# Da li se statički atribut može i definisati u klasi, i koji slučaj je izuzetak? - &#039;&#039;&#039;U klasi se statički atribut samo deklariše, a definiše se na globalnom nivou. Izuzetak je imenovana celobrojna konstanta koja može da se definiše i u definiciji klase.&#039;&#039;&#039;&lt;br /&gt;
# Čime se inicijalizuje statički atribut ako se ne navede inicijalizator u definiciji? - &#039;&#039;&#039;Nulom.&#039;&#039;&#039;&lt;br /&gt;
# Da li se telo statičke metode može nalaziti u definiciji klase? - &#039;&#039;&#039;Može.&#039;&#039;&#039;&lt;br /&gt;
# Da li statičke metode mogu imati modifikatore? - &#039;&#039;&#039;Da.&#039;&#039;&#039;&lt;br /&gt;
# Šta se dešava ako preko konkretnog objekta pozovemo statički metod? - &#039;&#039;&#039;Klasa pokazanog objekta kao levog operanda se određuje statički.&#039;&#039;&#039;&lt;br /&gt;
# Da li je moguće pozvati statički metod ako nije kreiran nijedan objekat te klase? - &#039;&#039;&#039;Da.&#039;&#039;&#039;&lt;br /&gt;
# Koje osobine ima prijateljstvo među klasama? - &#039;&#039;&#039;Prijatelji klase mogu da pristupaju njenim privatnim članovima. Prijateljstvo je relacija koja reguliše isključivo pravo pristupa, a ne oblast važenja i vidljivost identifikatora. Prijateljstvo se ne nasleđuje, nije simetrična relacija i nije tranzitivna relacija&#039;&#039;&#039;&lt;br /&gt;
# Da li je moguće definisati prijateljsku metodu unutar definicije klase, da li se tad podrazumeva &amp;lt;code&amp;gt;inline&amp;lt;/code&amp;gt;? - &#039;&#039;&#039;Ako se u definiciji klase navodi definicija prijateljske funkcije podrazumeva se inline.&#039;&#039;&#039;&lt;br /&gt;
# Da li je bitno gde se oznaka prijateljstva nalazi, tj. u kojoj sekciji klase? - &#039;&#039;&#039;Nije.&#039;&#039;&#039;&lt;br /&gt;
# Da li prijateljska funkcija ima pokazivač &amp;lt;code&amp;gt;this&amp;lt;/code&amp;gt; u sebi? - &#039;&#039;&#039;Prijateljska funkcija nema pokazivač this na objekat klase kojoj je prijatelj,&#039;&#039;&#039;&lt;br /&gt;
# Da li prijateljske globalne funkcije mogu imati modifikatore, npr. &amp;lt;code&amp;gt;const&amp;lt;/code&amp;gt;? - &#039;&#039;&#039;Modifikator nema smisla za globalnu prijateljsku funkciju.&#039;&#039;&#039;&lt;br /&gt;
# Da li je moguća konverzija tipa nad kojim je pozvan objekat (skrivenog argumenta) u drugi tip? - &#039;&#039;&#039;Nije moguća konverzija skrivenog argumenta u drugi tip.&#039;&#039;&#039;&lt;br /&gt;
# Da li se doseg imena okružujuće klase proteže na ugnježdenu klasu i obratno? - &#039;&#039;&#039;Ugnežđena klasa (tip) se nalazi u dosegu imena okružujuće klase. Izvan okružujuće klase imenu ugnežđene klase može da se pristupi samo preko operatora proširenja dosega imena ::&#039;&#039;&#039;&lt;br /&gt;
# Da li je se u ugnježdenoj klasi može direktno pristupiti ne-statičkim poljima okružujuće klase? - &#039;&#039;&#039;Ne.&#039;&#039;&#039;&lt;br /&gt;
# Da li postoji neka relacija prijateljstva između ugnježdene i okružujuće klase? - &#039;&#039;&#039;Ugnežđena klasa je implicitno prijatelj okružujuće klase, ali okružujuća klasa nije prijatelj ugnežđene.&#039;&#039;&#039;&lt;br /&gt;
# Koju oblast važenja imaju lokalne klase? - &#039;&#039;&#039;Od deklaracije do kraja bloka u kojem je deklarisana.&#039;&#039;&#039;&lt;br /&gt;
# Da li je u lokalnoj klasi dozvoljeno pristupiti lokalnim promenljivama, a da li statičkim lokalnim promenljivama? - &#039;&#039;&#039;Dozvoljeno je samo pristupati statičkim lokalnim promenljivama.&#039;&#039;&#039;&lt;br /&gt;
# Da li metodi lokalne klase mogu da se definišu van definicije klase? - &#039;&#039;&#039;Ne. Metodi lokalne klase moraju da se definišu unutar definicije klase.&#039;&#039;&#039;&lt;br /&gt;
# Da li lokalna klasa može da ima statičke atribute? - &#039;&#039;&#039;Ne može.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Preklapanje operatora ==&lt;br /&gt;
# Koji operatori se ne mogu preklopiti? - &#039;&#039;&#039;Operatori ., .*, ::, ?:, sizeof, alignof, typeid i throw.&#039;&#039;&#039;&lt;br /&gt;
# Da li je moguće promeniti osobine operatora? - &#039;&#039;&#039;Ne mogu da se menjaju osobine operatora: n-arnost, prioritet i asocijativnost.&#039;&#039;&#039;&lt;br /&gt;
# Kako se pišu operatori ako se simbol operatora sastoji od slova (npr. &amp;lt;code&amp;gt;new&amp;lt;/code&amp;gt;)? - &#039;&#039;&#039;Simbol operatora se mora pisati odvojeno od ključne reči operator.&#039;&#039;&#039;&lt;br /&gt;
# Da li operatorske funkcije mogu imati podrazumevane vrednosti? - &#039;&#039;&#039;Ne mogu.&#039;&#039;&#039;&lt;br /&gt;
# Da li operatorski metodi mogu biti statički? - &#039;&#039;&#039;Ne mogu biti statčki (osim new i delete).&#039;&#039;&#039;&lt;br /&gt;
# Da li operatorski metodi mogu imati modifikatore? - &#039;&#039;&#039;Da (npr. const, volatile, &amp;amp; i &amp;amp;&amp;amp;).&#039;&#039;&#039;&lt;br /&gt;
# Da li je moguće napisati operatorsku funkciju gde nijedan parametar nije klasnog tipa? - &#039;&#039;&#039;Ne, bar jedan parametar mora biti klasnog tipa.&#039;&#039;&#039;&lt;br /&gt;
# Da li je moguće u programu imati isti operator i kao metod i kao globalnu funkciju? - &#039;&#039;&#039;Ne.&#039;&#039;&#039;&lt;br /&gt;
# Da li operatorski metod dozvoljava konverzije? - &#039;&#039;&#039;Operatorski metod ne dozvoljava konverziju levog operanda.&#039;&#039;&#039;&lt;br /&gt;
# Kako se piše operatorska funkcija ako prvi operand nije klasnog tipa? - &#039;&#039;&#039;Kao globalna (prijateljska) funkcija.&#039;&#039;&#039;&lt;br /&gt;
# Koji operatori moraju biti nestatički? - &#039;&#039;&#039;Operatori =, [], (), -&amp;gt; i (tip).&#039;&#039;&#039;&lt;br /&gt;
# Kada se brišu ugrađeni kopirajući i premeštajući operatori dodele? - &#039;&#039;&#039;Ugrađena kopirajuća dodela se suspenduje ako se u klasi definiše premeštajući konstruktor ili premeštaju ća dodela. Premeštajuća dodela se suspenduje ako se u klasi definiše kop./prem. konstruktor, destruktor ili kop. dodela&#039;&#039;&#039;&lt;br /&gt;
# Kako se razlikuje postfiksna i prefiksna varijanta prilikom pisanja inkrementirajućeg i dekrementirajućeg operatora? - &#039;&#039;&#039;Prefiksni: T&amp;amp; operator@@(), postfiksni: T operator@@(int).&#039;&#039;&#039;&lt;br /&gt;
# Šta su funkcijska klasa i funkcijski objekat? - &#039;&#039;&#039;Klasa sa preklopljenim operatorom () – funkcijska klasa, objekat funkcijske klase – funkcijski objekat.&#039;&#039;&#039;&lt;br /&gt;
# Kako se preklapa operator &amp;lt;code&amp;gt;-&amp;gt;&amp;lt;/code&amp;gt;? - &#039;&#039;&#039;Kao nestatička metoda bez parametara (unarni operator).&#039;&#039;&#039;&lt;br /&gt;
# Kog tipa treba da bude povratna vrednost operatora &amp;lt;code&amp;gt;-&amp;gt;&amp;lt;/code&amp;gt;? - &#039;&#039;&#039;Rezultat treba da bude tipa pokazivača na objekat klase koja sadrži clan ili objekat (ili referenca) klase za koju je takođe definisan operator-&amp;gt;.&#039;&#039;&#039;&lt;br /&gt;
# Kog tipa može da bude povratna vrednost kast operatora? - &#039;&#039;&#039;Standardni, izvedeni (npr. pokazivač) ili klasni tip.&#039;&#039;&#039;&lt;br /&gt;
# Kako se piše kast operator, šta se mora izostaviti u deklaraciji i definiciji? - &#039;&#039;&#039;Tip povratne vrednosti funkcije ne sme da bude naveden u deklaraciji/definiciji i on se podrazumeva na osnovu imena funkcije.&#039;&#039;&#039;&lt;br /&gt;
# Na koja dva načina se može pozvati kast operator i koje ograničenje važi za jedan od načina? - &#039;&#039;&#039;(T)x ili T(x). Oblik notacije T(x) ne može da se koristi za tipove sa većim brojem reči (npr. unsigned long).&#039;&#039;&#039;&lt;br /&gt;
# Koja je uloga modifikatora &amp;lt;code&amp;gt;explicit&amp;lt;/code&amp;gt; kod kast operatora? - &#039;&#039;&#039;Ako treba da se spreči implicitna konverzija.&#039;&#039;&#039;&lt;br /&gt;
# Kako se preklapaju operatori &amp;lt;code&amp;gt;new&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt;? - &#039;&#039;&#039;Kao statićki metodi.&#039;&#039;&#039;&lt;br /&gt;
# Da li funkcije za operatore &amp;lt;code&amp;gt;new&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt; treba da pozivaju konstruktore/destruktore? - &#039;&#039;&#039;Ne, jer se oni pozivaju implicitno.&#039;&#039;&#039;&lt;br /&gt;
# Koju povratnu vrednost treba da ima operator &amp;lt;code&amp;gt;new&amp;lt;/code&amp;gt;? - &#039;&#039;&#039;Operator new treba da vrati pokazivač na alocirani prostor.&#039;&#039;&#039;&lt;br /&gt;
# Da li klasa može imati više preklopljenjih operatora &amp;lt;code&amp;gt;new&amp;lt;/code&amp;gt; i kako se to postiže? - &#039;&#039;&#039;Može ako oni imaju različite parametre.&#039;&#039;&#039;&lt;br /&gt;
# Koliko preklopljenjih operatora &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt; funkcija može da ima? - &#039;&#039;&#039;Samo po jednu (za podatak i niz) delete funkciju.&#039;&#039;&#039;&lt;br /&gt;
# Kako se unutar preklopljenjih operatora &amp;lt;code&amp;gt;new&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt; pozivaju ugrađeni operatori &amp;lt;code&amp;gt;new&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt;? - &#039;&#039;&#039;Eksplicitno, preko unarnog operatora :: ili implicitno, kada se dinamički stvaraju/uništavaju objekti koji nisu tipa T.&#039;&#039;&#039;&lt;br /&gt;
# Da li operatori &amp;lt;code&amp;gt;new&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt; mogu biti virtuelni? - &#039;&#039;&#039;Ne.&#039;&#039;&#039;&lt;br /&gt;
# Da li se operatori &amp;lt;code&amp;gt;new&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt; nasleđuju? - &#039;&#039;&#039;Da.&#039;&#039;&#039;&lt;br /&gt;
# Šta treba da vraćaju operatorske funkcije &amp;lt;code&amp;gt;&amp;amp;lt;&amp;amp;lt;&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;&amp;amp;gt;&amp;amp;gt;&amp;lt;/code&amp;gt; kada se realizuje unos/ispis? - &#039;&#039;&#039;Referencu na levi operand (ostream&amp;amp; i istream&amp;amp;).&#039;&#039;&#039;&lt;br /&gt;
# Da li operatorske funkcije za unos/ispis mogu biti metode? - &#039;&#039;&#039;Ne.&#039;&#039;&#039;&lt;br /&gt;
# Koji operatori se mogu napisati za nabrajajuće tipove? - &#039;&#039;&#039;Dozvoljeno je preklapanje operatora koji se ne preklapaju kao metodi.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Izvođenje ==&lt;br /&gt;
# Šta je višestruko izvođenje, da li je to i izvođenje iz već izvedene klase?&lt;br /&gt;
# Šta označava modifikator &amp;lt;code&amp;gt;final&amp;lt;/code&amp;gt; kod klasa, a šta kod metoda?&lt;br /&gt;
# Da li se može reč &amp;lt;code&amp;gt;final&amp;lt;/code&amp;gt; pojaviti i kao identifikator?&lt;br /&gt;
# Šta izvedena klasa ne nasleđuje iz osnovne?&lt;br /&gt;
# U kojim slučajevima se može pristupiti zaštićenim članovima iz metoda izvedene klase?&lt;br /&gt;
# Kako se može eksplicitno promeniti pravo pristupa nasleđenom članu, i da li se može promeniti pravo pristupa članu koji je u osnovnoj klasi privatan?&lt;br /&gt;
# Koja je razlika između javnog, privatnog i zaštićenog izvođenja, u kojim slučajevima objekat izvedene klase može da zameni objekat osnovne klase?&lt;br /&gt;
# Šta se dešava ukoliko u izvedenoj klasi napiše metod koji ima isto ime kao metod iz osnovne klase?&lt;br /&gt;
# Na koji način se može pristupiti sakrivenom polju osnovne klase?&lt;br /&gt;
# Kako se prilikom zaštićenog i privatnog izvođenja restaurira vidljivost svih metoda nekog imena, a kako samo pojedinačnog?&lt;br /&gt;
# Da li se konstruktori nasleđuju prilikom izvođenja?&lt;br /&gt;
# Šta se dešava kad se uvezu konstruktori?&lt;br /&gt;
# Koje izvođenje je podrazumevano?&lt;br /&gt;
# Da li se može izvesti iz unije i da li unije mogu izvoditi?&lt;br /&gt;
# Da li konstruktor može inicijalizovati nasleđene atribute?&lt;br /&gt;
# Da li je objekat izvedene klase uvek i objekat osnovne klase?&lt;br /&gt;
# Da li se virtuelnost funkcije nasleđuje, tj. da li se u izvedenim klasama mora navesti da je funkcija virtuelna?&lt;br /&gt;
# U kojim stvarima se potpis metode u izvedenoj klasi sme razlikovati od potpisa virtuelne metode u osnovnoj klasi, šta se dešava ako se razlikuje više?&lt;br /&gt;
# Da li se svaki virtuelni metod mora definisati u svakoj izvedenoj klasi i šta se dešava ako neki nije napisan?&lt;br /&gt;
# Kada se aktivira virtuelni mehanizam, tj. kako se objektu mora pristupiti?&lt;br /&gt;
# Koja je svrha modifikatora &amp;lt;code&amp;gt;override&amp;lt;/code&amp;gt;, da li je to rezervisana reč?&lt;br /&gt;
# Da li se i &amp;lt;code&amp;gt;override&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;final&amp;lt;/code&amp;gt; mogu zajedno naći u potpisu metoda?&lt;br /&gt;
# Šta dodatno sadrži svaki objekat polimorfne klase?&lt;br /&gt;
# Da li statičke metode i globalne prijateljske funkcije mogu biti polimorfne, ako ne mogu kako se onda postiže polimorfno ponašanje kod njih?&lt;br /&gt;
# Da li konstruktori i destruktori mogu biti virtuelni i zašto?&lt;br /&gt;
# Da li izvedena klasa treba eksplicitno pozvati destruktor osnovne klase?&lt;br /&gt;
# Da li je niz objekata izvedene klase jedna vrsta niza objekata osnovne klase, da li se mogu bezbedno konvertovati, da li postoji slučaj kad može doći do greške i da li prevodilac to može otkriti?&lt;br /&gt;
# Da li je dozvoljena konverzija niza pokazivača na objekte izvedene klase u niz pokazivača na objekte osnovne klase?&lt;br /&gt;
# Kada je klasa virtuelna, a kada apstraktna?&lt;br /&gt;
# Da li je moguće imati primere apstraktne klase, a šta važi za pokazivače i reference takve klase?&lt;br /&gt;
# Kako je moguće sprečiti stvaranje objekata klase čije su svi metode konkretne i ne-apstraktne?&lt;br /&gt;
# Da li klasa može da ima apstraktni destruktor bez definicije?&lt;br /&gt;
# Da li klasa izvedena iz apstraktne klase mora da definiše sve apstraktne metode i šta se dešava ukoliko ih ne definiše?&lt;br /&gt;
# Da li apstraktna klasa može da ima konstruktor i kako on radi?&lt;br /&gt;
# Kakva mora da bude klasa pokazivača/reference koja se šalje kao parametar operatoru &amp;lt;code&amp;gt;dynamic_cast&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Šta se dešava ukoliko pokazivač/referenca prosleđeni operatoru &amp;lt;code&amp;gt;dynamic_cast&amp;lt;/code&amp;gt; ipak ne upućuju na objekat izvedene klase (ili klase još izvedenije iz nje) u koju se vrši konverzija?&lt;br /&gt;
# Da li operator &amp;lt;code&amp;gt;typeid&amp;lt;/code&amp;gt; izračunava izraz?&lt;br /&gt;
# Šta vraća operator &amp;lt;code&amp;gt;typeid&amp;lt;/code&amp;gt; kad je upotrebljen nad objektom polimorfne klase (u obliku reference ili dereferenciranog pokazivača), a šta nad objektom ne-polimorfne klase?&lt;br /&gt;
# Šta se dešava ukoliko se u izrazu prosleđenom &amp;lt;code&amp;gt;typeid&amp;lt;/code&amp;gt; operatoru dereferencira &amp;lt;code&amp;gt;nullptr&amp;lt;/code&amp;gt; pokazivač?&lt;br /&gt;
# Koji koncept uvodi operator &amp;lt;code&amp;gt;typeid&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Koji tip objekta vraća operator &amp;lt;code&amp;gt;typeid&amp;lt;/code&amp;gt; i da li je moguće sačuvati njegov rezultat u promenljivu i zašto?&lt;br /&gt;
# Šta je problem dijamant strukture i kako se rešava?&lt;br /&gt;
# Kojim redosledom se izvršava konstrukcija pri višestrukom nasleđivanju?&lt;br /&gt;
&lt;br /&gt;
== Izuzeci ==&lt;br /&gt;
# Kog tipa može biti bačeni izuzetak?&lt;br /&gt;
# Da li operator &amp;lt;code&amp;gt;noexcept&amp;lt;/code&amp;gt; izračunava izraz i na koji način onda gleda tačnost?&lt;br /&gt;
# Kojim redosledom treba navoditi rukovaoce?&lt;br /&gt;
# Koji je životni vek bačenog objekta?&lt;br /&gt;
# Šta se dešava ukoliko je bačen lokalni objekat?&lt;br /&gt;
# Šta se dešava sa atributima klase ukoliko se desi izuzetak u konstruktoru koji propagira van konstruktora?&lt;br /&gt;
# Koja je svrha funkcijske naredbe &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Da li se u rukovaocima funkcijske naredbe &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt; mogu koristiti parametri funkcije?&lt;br /&gt;
# Šta moraju da urade rukovaoci funkcijske naredbe &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt; na kraju svog izvršavanja?&lt;br /&gt;
# Da li se treba pristupati atributima i nasleđenom podobjektu unutar rukovaoca funkcijskog &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt; bloka konstruktora?&lt;br /&gt;
# Šta se dešava na kraju rukovaoca funkcijskog &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt; bloka konstruktora?&lt;br /&gt;
# Čemu je ekvivalentan modifikator &amp;lt;code&amp;gt;noexcept&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Da li konstruktor sa funkcijskim &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt; blokom sme imati &amp;lt;code&amp;gt;noexcept&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Šta se dešava ukoliko se za neki izuzetak ne pronađe rukovalac?&lt;br /&gt;
# Šta podrazumevano radi funkcija &amp;lt;code&amp;gt;terminate()&amp;lt;/code&amp;gt; i da li je to moguće promeniti, i ukoliko je moguće šta ta alternativna funkcija mora na kraju da uradi?&lt;br /&gt;
# Šta se dešava ukoliko se u funkciji desi neočekivan izuzetak (u funkciji označenoj sa &amp;lt;code&amp;gt;noexcept&amp;lt;/code&amp;gt; ili ako izuzetak nije na listi očekivanih izuzetaka)?&lt;br /&gt;
# Šta podrazumevano radi funkcija &amp;lt;code&amp;gt;terminate()&amp;lt;/code&amp;gt; i da li je to moguće promeniti, i ukoliko je moguće šta ta alternativna funkcija mora na kraju da uradi?&lt;br /&gt;
# Da li ijedna metoda klase izvedene iz &amp;lt;code&amp;gt;std::exception&amp;lt;/code&amp;gt; sme da baci izuzetak i zašto?&lt;br /&gt;
&lt;br /&gt;
== Šabloni ==&lt;br /&gt;
# Da li je mehanizam generika statički ili dinamički?&lt;br /&gt;
# Da li ima smisla odvojeno prevođenje šablona, tj. pisanje istih u &amp;lt;code&amp;gt;.cpp&amp;lt;/code&amp;gt; datotekama i koja je mana toga?&lt;br /&gt;
# Šta mogu biti formalni parametri šablona?&lt;br /&gt;
# Kako se na zahtev generišu konkretne funkcije i klase iz šablona?&lt;br /&gt;
# Da li se implicitno mogu generisati konkretne funkcije i klase iz šablona i pod kojim uslovima?&lt;br /&gt;
# Kada je neophodno eksplicitno navesti stvarne argumente šablona funkcije?&lt;br /&gt;
# Kada će biti sprečeno automatsko generisanje funkcije iz šablona, a kako se može forsirati generisanje funkcije iz šablona?&lt;br /&gt;
# Da li se pri generisanju klase iz šablona generišu i sve njene virtuelne metode?&lt;br /&gt;
# Da li se može imenovati klasa pri generisanju iz šablona?&lt;br /&gt;
# Da li argumenti šablona mogu da imaju podrazumevane vrednosti i šta se dešava pri implicitnom zaključivanju kod šablonskih funkcija?&lt;br /&gt;
# Da li se podrazumevane vrednosti argumenata moraju navesti i prilikom definicije svakog metoda šablonske klase ili je dovoljno samo jednom prilikom definicije/deklaracije klase?&lt;br /&gt;
# Ako je formalni parametar šablona konstanta, kog tipa mora da bude?&lt;br /&gt;
# Iz kog razloga su samo konstantne dozvoljene kao parametri šablona, a ne i promenljive?&lt;br /&gt;
# Da li raniji formalni parametri se mogu koristiti za podrazumevane/početne vrednosti kasnijih parametara šablona?&lt;br /&gt;
# Da li funkcije mogu biti parametri šablona i ako ne šta se u tom slučaju radi?&lt;br /&gt;
# Kakvi su konstruktori inicijalizatorske liste?&lt;br /&gt;
# Koje javne metode imaju inicijalizatorske liste?&lt;br /&gt;
# Kako pišemo konstruktor klase ako želimo da objekat inicijalizujemo inicijalizatorskom listom proizvoljne dužine?&lt;br /&gt;
# Da li se argumenti konstruktora mogu navesti pomoću incijalizatorske liste i koja razlika postoji između tog načina i poziva konstruktora čiji je parametar inicijalizatorska lista?&lt;br /&gt;
# U kom slučaju se neće pozvati konstruktor koji prima inicijalizatorsku listu, a objekat se inicijalizuje inicijalizatorskom listom?&lt;br /&gt;
# Da li parametri šablona prilikom specijalizacije mogu imati podrazumevane vrednosti?&lt;br /&gt;
# Koja ograničenja važe za specijalizaciju šablona funkcije?&lt;br /&gt;
# Kada je specijalizacija moguća, a kada prestaje biti moguća?&lt;br /&gt;
# Šta se dešava ukoliko imamo više podjednako specijalizovanih šablona, kako se odlučuje koji šablon je najspecijalizovaniji?&lt;br /&gt;
# Da li metode klase mogu biti generičke, da li takve metode mogu biti virtuelne i da li mogu biti definisane i van klase?&lt;br /&gt;
# Da li konstruktori i destruktori mogu da budu generički (bez obzira na to da li je klasa generička)?&lt;br /&gt;
# Kako se pozivaju generički metodi, a kako generički konstruktori?&lt;br /&gt;
# Da li ugnježdene klase mogu da budu generičke i kakva mora da bude spoljašnja klasa?&lt;br /&gt;
&lt;br /&gt;
[[Категорија:ОО1]]&lt;/div&gt;</summary>
		<author><name>Milos</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9E%D0%9E1/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=6929</id>
		<title>ОО1/Питања</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9E%D0%9E1/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=6929"/>
		<updated>2023-11-24T20:42:01Z</updated>

		<summary type="html">&lt;p&gt;Milos: /* Proširenja C */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
{{nerešeno}}&lt;br /&gt;
Ispod su sakupljena razna pitanja sa prezentacija iz predmeta, zasad bez rešenja. Namenjena su za obnavljanje gradiva pred kolokvijum, kako bi studenti mogli da testiraju svoje znanje odgovaranjem na njih.&lt;br /&gt;
&lt;br /&gt;
== Uvod ==&lt;br /&gt;
# Prilikom izvođenja, da li se stari programski kod mora menjati, opet prevoditi i opet testirati? - &#039;&#039;&#039;Ne.&#039;&#039;&#039;&lt;br /&gt;
# Šta je apstrakcija? - &#039;&#039;&#039;Prepoznavanje bitnih svojstava skupova sličnih objekata i predstavljanje zajedničkom klasom.&#039;&#039;&#039;&lt;br /&gt;
# Koja su 3 značajna napretka u evoluciji programskih jezika? - &#039;&#039;&#039;Apstrakcija izraza (FORTRAN), apstrakcija kontrole (Algol60) i apstrakcija podataka (Pascal).&#039;&#039;&#039;&lt;br /&gt;
# Od koja dva dela se svaka klasa sastoji? - &#039;&#039;&#039;Ugovor (interfejs) i implementacija.&#039;&#039;&#039;&lt;br /&gt;
# Šta su objekti (i u užem i u širem smislu)? - &#039;&#039;&#039;Objekti su primerci odgovarajućih klasa.&#039;&#039;&#039;&lt;br /&gt;
# Da li je polimorfizam statički ili dinamički mehanizam? - &#039;&#039;&#039;Dinamički.&#039;&#039;&#039;&lt;br /&gt;
# Šta je polimorfizam? - &#039;&#039;&#039;Ponašanje objekta ne zavisi samo od tipa pokazivača (upućivača) koji pokazuje na objekat već od tipa pokazivanog (upućivanog) objekta koji je poznat u vreme izvršenja.&#039;&#039;&#039;&lt;br /&gt;
# Šta su objektno-bazirani jezici, a šta objektno-orijentisani? - &#039;&#039;&#039;Objektno-zasnovani jezici podržavaju: apstrakciju, kapsulaciju i modularnost. Objektno-orijentisani jezici dodatno podržavaju princip nasleđivanja.&#039;&#039;&#039;&lt;br /&gt;
# Da li je mehanizam obrade izuzetaka svojstven samo za objektno-orijentisane jezike? - &#039;&#039;&#039;Ne.&#039;&#039;&#039;&lt;br /&gt;
# Da li je mehanizam preklapanja operatora svojstven samo za objektno-orijentisane jezike? - &#039;&#039;&#039;Ne.&#039;&#039;&#039;&lt;br /&gt;
# Da li se mogu preklopiti svi operatori? - &#039;&#039;&#039;Ne.&#039;&#039;&#039;&lt;br /&gt;
# Da li je generički mehanizam statički ili dinamički? - &#039;&#039;&#039;Statički.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Proširenja C ==&lt;br /&gt;
# Šta je deklaracija, a šta definicija? - &#039;&#039;&#039;Deklaracija je iskaz koji samo uvodi neko ime (identifikator) u program i govori prevodiocu kojoj jezičkoj kategoriji pripada. Definicija je ona deklaracija koja: stvara objekat, navodi telo funkcije ili u potpunosti navodi strukturu korisničkog tipa.&#039;&#039;&#039;&lt;br /&gt;
# Koliko puta se smeju ponoviti deklaracije i definicije jednog istog objekta/funkcije/tipa? - &#039;&#039;&#039;U programu može da postoji samo jedna definicija (jednog objekta, funkcije, tipa) i proizvoljno mnogo deklaracija.&#039;&#039;&#039;&lt;br /&gt;
# Kakva može promenljiva da bude? - &#039;&#039;&#039;Prema dosegu: globalna ili lokalna. Prema veku trajanja: statička, automatska, dinamička, privremena (tranzijentna).&#039;&#039;&#039;&lt;br /&gt;
# Šta je l-vrednost, a šta d-vrednost? - &#039;&#039;&#039;L-vrednost (lvalue) je izraz koji upućuje na objekat (u širem smislu) ili funkciju. D-vrednost (rvalue) je izraz koji nije lvrednost.&#039;&#039;&#039;&lt;br /&gt;
# Da li uvek sa leve strane znaka = može da stoji l-vrednost? - &#039;&#039;&#039;Ne, mogu samo da stoje promenljive l-vrednosti, tj. svaka l-vrednost koja nije ime funkcije, ime niza, ili konstantan objekat.&#039;&#039;&#039;  &lt;br /&gt;
# Koji operatori zahtevaju da im operandi budu l-vrednosti? - &#039;&#039;&#039;&amp;amp;, postfiksni: ++,  - -, levi operandi dodele vrednosti&#039;&#039;&#039; &lt;br /&gt;
# Koji operatori bi trebalo da vrate l-vrednost? - &#039;&#039;&#039;unarni *, [ ], prefiksni ++, - -, operatori dodele vrednosti&#039;&#039;&#039; &lt;br /&gt;
# Koju oblast važenja imaju i koliko traju: lokalna imena, globalna imena, statički objekti, dinamički objekti, automatski objekti, privremeni objekti? - &#039;&#039;&#039;Automatski objekti: od definicije do napustanja oblasti vazenja, staticki objekat: od definicije do kraja izvrsavanja main-a, dinamicki objekat: zivotni vek kontrolise programer (stvaraju se pomocu new, brisu se pomocu delete). Privremeni objekat ima kratak i nedefinisan zivotni vek.&#039;&#039;&#039;  &lt;br /&gt;
# Da li je moguće na neki način pristupiti globalnom imenu ukoliko je ono sakriveno od strane lokalnog imena, a lokalnom imenu u spoljašnjem bloku ukoliko je ono sakriveno od strane lokalnog imena u unutrašnjem bloku? - &#039;&#039;&#039;Globalnom imenu moguce je pristupiti pomocu ‘::’, a lokalnom imenu nije moguce pristupiti.&#039;&#039;&#039; (proveriti!!!) &lt;br /&gt;
# Da li se u uslovu if može definisati neka promenljiva i ako da kakva mora da bude i koliko ona traje? - &#039;&#039;&#039;Moze da se definise promenljiva, i njen vek trajanja je od definicije do kraja then, tj. else naredbe.&#039;&#039;&#039;&lt;br /&gt;
# Da li je unutar funkcije moguće imati promenljivu istog imena kao neki od parametara i ako ne koji je razlog? - &#039;&#039;&#039;Da, unutar funkcije je moguće imati promenljivu istog imena kao neki od parametara.&#039;&#039;&#039; &lt;br /&gt;
# Koju oblast važenja imaju članovi strukture/klase? &#039;&#039;&#039;Imaju oblast važenja te iste klase.&#039;&#039;&#039; &lt;br /&gt;
# Na koje sve načine se može pristupiti imenima članovima klase, van te klase? - &#039;&#039;&#039;Preko operatora: . (levi operand objekat),  -&amp;gt; (levi operand pokazivač na objekat), :: (levi operand ime klase).&#039;&#039;&#039;&lt;br /&gt;
# Koju oblast važenja imaju labele? - &#039;&#039;&#039;Imaju oblast važenja funkcije u kojoj se navode.&#039;&#039;&#039;&lt;br /&gt;
# Da li je moguće sa goto naredbom preskočiti definiciju neke promenljive i skočiti na labelu koja se nalazi nakon nje? - &#039;&#039;&#039;Ne, nije moguće koristiti goto naredbu da preskočite definiciju promenljive u C++. goto naredba se može koristiti za skakanje na određenu oznaku (labelu) unutar iste funkcije ili bloka koda, ali ne može preskočiti definiciju promenljive. Definicija promenljive mora biti uključena u tok izvršavanja programa.&#039;&#039;&#039; &lt;br /&gt;
# Kada se kreiraju statički objekti? - &#039;&#039;&#039;Globalni staticki objekti, stvaraju se jednom, na pocetku izvrsavanja programa. Lokalni staticki objekti stvaraju se pri prvom nailasku toka programa na njihovu definiciju.&#039;&#039;&#039;  &lt;br /&gt;
# Da li je C++ strogo ili labavo tipiziran jezik? - &#039;&#039;&#039;C++ je hibridan jezik, pri manipulisanju prostim tipovima je labavo tipizaran, dok sa slozenim korisnickim tipovima je strogo tipiziran.&#039;&#039;&#039;  &lt;br /&gt;
# Koja je razlika između 4 kast operatora i kad se koji koristi? - &#039;&#039;&#039;Staticki kast koristi se za prenosive konverzije (izmedju numerickih tipova, kastova koje definise programer i nekih pokazivaca u void*), implicitno se vrsi kad je bezbedno. Reinterpretirajuci kast namenjen je za konverzije logicki neslicnih tipova (int i pokazivac, npr). Konstanta konverzija koristi se za dodavanje ili uklanjanje const. Dodavanje je sigurno, uklanjanje nije. Dinamicki kast jos postoji.&#039;&#039;&#039;  &lt;br /&gt;
# Na koja dva načina možemo implementirati kastovanje (navesti mane ukoliko ih ima neki način)? - &#039;&#039;&#039;Static_cast i Dynamic_cast. Mana dynamic_cast-a je da se koristi u kontekstu polimorfizma i zahteva da klase imaju bar jedan virtualni metod. Takođe, dynamic_cast je sporiji od static_cast-a, jer uključuje provere u vreme izvršavanja (runtime checks) i može vratiti nullptr kada konverzija nije moguća.&#039;&#039;&#039; &lt;br /&gt;
# Šta radi operator decltype, da li računa izraz? - &#039;&#039;&#039;Decltype dodeljuje onaj tip podataka promenljivoj koji se se nalazi u zagradi decltype(izraz), ali taj izraz se nikad ne izracunava.&#039;&#039;&#039;  &lt;br /&gt;
# Koja je bitna razlika između decltype i auto? - &#039;&#039;&#039;auto dodeljuje tip na osnovu izraza inicijalizatora (onoga sto se nalazi sa desne strane operatora dodele vrednosti), a decltype odredjuje na osnovu izraza u zagradi: decltype(izraz).&#039;&#039;&#039; &lt;br /&gt;
# Da li se auto može koristiti sa povratnom vrednosti funkcije i u kojim slučajevima? - &#039;&#039;&#039;Moze, bitno je da se funkcija koja vraca odredjeni tip pomocu return, bude pre toga definisana, a ne samo deklarisana.&#039;&#039;&#039;  &lt;br /&gt;
# Kog je tipa string literal u C++ (&amp;quot;abcd&amp;quot;)? - &#039;&#039;&#039;Tipa string.&#039;&#039;&#039;  &lt;br /&gt;
# Kakvu razliku pravi pozicija gde se nalazi reč const u definiciji pokazivača? - &#039;&#039;&#039;Kad se const nadje ispred parametra koji je pokazivac, obezbedjuje se da funkcija ne menja objekat, a ispred tipa rezultata funkcije, obezbedjuje se nepromenljivost privremenog objekta rezultata.&#039;&#039;&#039; &lt;br /&gt;
# Na koje načine je moguće pristupiti imenu iz nekog prostora imena? - &#039;&#039;&#039;Razresenjem doksega: A::x; uvozom datog imena: using A::x; uvozom svih imena iz prostora imena: using namespace A.&#039;&#039;&#039; &lt;br /&gt;
# Da li je validno imati objekat istog imena kao i neki tip? - &#039;&#039;&#039;U jeziku C++, tehnički je dozvoljeno kreirati objekat sa imenom koje je isto kao ime nekog tipa.&#039;&#039;&#039; &lt;br /&gt;
# Da li je moguće imati isto ime (identifikator) za dve različite stvari u jednom prostoru imena, tj. da ime nije jednoznačno?  - &#039;&#039;&#039;Nije moguce, mora da bude jednoznacno.&#039;&#039;&#039;  &lt;br /&gt;
# Koji operatori su definisani za tipove nabrajanja (enum)? - &#039;&#039;&#039;Definisan je samo operator dodele vrednosti.&#039;&#039;&#039;  &lt;br /&gt;
# Koje konverzije postoje za tipove nabrajanja? - &#039;&#039;&#039;Implicitna konverzija u osnovne tipove kao što su int, char, bool itd.  Vrednost iz tipa nabrajanja može se eksplicitno konvertovati u druge tipove ili obrnuto koristeći statički kast (static_cast).&#039;&#039;&#039; &lt;br /&gt;
# Da li je moguće definisati koji tip koristi &amp;quot;under-the-hood&amp;quot; tip nabrajanja, da se ne koristi uvek int, i kako? - &#039;&#039;&#039;Moguce je, pomocu eksplicitnog navodjenja tipa koji se koristi za tipa nabrajanja (static_cast).&#039;&#039;&#039;  &lt;br /&gt;
# Koja je razlika između običnog tipa nabrajanja i tipa nabrajanja sa ograničenim dosegom (enum class)? - &#039;&#039;&#039;Imena iz običnih tipova nabrajanja dele globalni opseg imena. Enumeracije sa ograničenim dosegom uvode lokalni opseg imena, što znači da imena enumeracija ne ulaze u globalni opseg imena.&#039;&#039;&#039;  &lt;br /&gt;
# Kako se koristi incijalizatorska lista prilikom kreiranja unije? - &#039;&#039;&#039;Moze da se postavi samo prvo polje.&#039;&#039;&#039; &lt;br /&gt;
# Šta se dešava ukoliko inicijalizatorska lista sadrži više vrednosti nego što ima podataka ta struktura? - &#039;&#039;&#039;Visak je greska.&#039;&#039;&#039;  &lt;br /&gt;
# Da li se inicijalizatorske liste mogu koristiti pri dodeli vrednosti? - &#039;&#039;&#039;Mogu.&#039;&#039;&#039; &lt;br /&gt;
# Kako se pristupa poljima bezimene unije/strukture? - &#039;&#039;&#039;Polja anonimnih unija i struktura se pristupaju direktno preko objekta koji ih sadrži.&#039;&#039;&#039; &lt;br /&gt;
# Da li je unija/struktura bezimena ako nema ime a ipak kreiramo bar jedan objekat ili pokazivač tog tipa? - &#039;&#039;&#039;Nije.&#039;&#039;&#039; &lt;br /&gt;
# Na koji način radi mutable polje? - &#039;&#039;&#039;Takvo polje moze da se menja cak i za nepromenljiv objekat strukture.&#039;&#039;&#039;  &lt;br /&gt;
# Šta se dešava ukoliko operator new ne uspe da alocira memoriju jer nema dovoljno prostora? - &#039;&#039;&#039;Izbacuje se izuzetak bad_alloc.&#039;&#039;&#039; &lt;br /&gt;
# Šta se dešava ukoliko pokušamo da obrišemo nullptr sa delete operatorom? - &#039;&#039;&#039;Operator delete nema efekta.&#039;&#039;&#039;&lt;br /&gt;
# Šta vraća operator delete? &#039;&#039;&#039;Ne vraca rezultat (tip je void).&#039;&#039;&#039; &lt;br /&gt;
# Ukoliko dinamički alociramo matricu (više-dimenzioni niz, a ne niz nizova (&amp;lt;code&amp;gt;new Tacka[10][10]&amp;lt;/code&amp;gt;)) da li dimenzije mogu biti promenljivi izrazi ili moraju biti konstante? - &#039;&#039;&#039;Sve dimenzije osim prve moraju da budu konstante, a taj promenljiv izraz mora da bude takav da moze da se izracuna  u trenutku izvrsavanja naredbe sa operatorom new.&#039;&#039;&#039; &lt;br /&gt;
# Da li je moguće napraviti niz referenci, pokazivač na referencu, referencu na pokazivač ili referencu na referencu? - &#039;&#039;&#039;Nije moguce napraviti niz referenci, referencu na referencu, pokazivac na referencu, ali je moguce napraviti referencu na pokazivac.&#039;&#039;&#039; &lt;br /&gt;
# Da li &amp;quot;moderna&amp;quot; verzija for-petlje (&amp;lt;code&amp;gt;for(tip prom: niz) naredba&amp;lt;/code&amp;gt;) u svakom ciklusu petlje sadrži referencu ili kopiju tekućeg elementa niza, tj. da li promena objekta prom utiče na niz? - &#039;&#039;&#039;Sadrzi kopiju tekuceg elementa, a promena objekta prom ne utice na niz.&#039;&#039;&#039;  &lt;br /&gt;
# Da li je referenca na d-vrednost takođe d-vrednost ili je l-vrednost? - &#039;&#039;&#039;Referenca na d-vrednost je l-vrednost.  &#039;&#039;&#039; &lt;br /&gt;
# Da li referenca na d-vrednost može upućivati na konstantnu/nepromenljivu d-vrednost? - &#039;&#039;&#039;Moze.&#039;&#039;&#039; &lt;br /&gt;
# Da li parametri funkcije mogu biti tipa reference na d-vrednost? - &#039;&#039;&#039;Mogu.&#039;&#039;&#039; &lt;br /&gt;
# Da li je dozvoljeno inicijalizovati referencu na d-vrednost pomoću l-vrednosti? - &#039;&#039;&#039;Nije.&#039;&#039;&#039; &lt;br /&gt;
# Gde treba da se nalazi deklaracija funkcije koja se neposredno ugrađuje (&amp;lt;code&amp;gt;inline&amp;lt;/code&amp;gt; funkcije)? - &#039;&#039;&#039;Deklaracija funkcije koja se neposredno ugrađuje (inline funkcija) obično se nalazi u zaglavlju.&#039;&#039;&#039;&lt;br /&gt;
# Kada se računaju podrazumevane vrednosti argumenata? - &#039;&#039;&#039;Ukoliko se pri pozivu funkcije ne navedu druge vrednosti argumenata.&#039;&#039;&#039; &lt;br /&gt;
# Da li je mehanizam preklapanja imena funkcije statički ili dinamički? - &#039;&#039;&#039;Staticki.&#039;&#039;&#039;  &lt;br /&gt;
# Da li je dovoljno da se samo tipovi rezultata razlikuju da bi postojale dve funkcije istog imena? - &#039;&#039;&#039;Jeste.&#039;&#039;&#039;  &lt;br /&gt;
# Da li rezultat ternarnog operatora može biti l-vrednost? - &#039;&#039;&#039;Moze.&#039;&#039;&#039;  &lt;br /&gt;
# Da li su reinterpretirajuća i konstantna konverzija bezbedne? - &#039;&#039;&#039;Reinterpretirajuca konverzija nije bezbedna.  Konstantna jeste ukoliko se dodaje const, nije ako se uklanja.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Klase i objekti ==&lt;br /&gt;
# Kako se formalnije nazivaju podaci i funkcije koji su deo klase? - &#039;&#039;&#039;Podaci = atributi, funkcije = metodi.&#039;&#039;&#039;&lt;br /&gt;
# Kako se naziva objekat koji poziva neki metod, a kako onaj čiji je metod pozvan? - &#039;&#039;&#039;Objekat koji poziva metod naziva se objekat-klijent, a objekat čiji se metod poziva je objekat-server.&#039;&#039;&#039;&lt;br /&gt;
# Da li može biti više sekcija vidljivosti iste vrste? - &#039;&#039;&#039;Može.&#039;&#039;&#039;&lt;br /&gt;
# Koja je podrazumevana sekcija, ako se ne navede nijedna druga? - &#039;&#039;&#039;Privatna (private).&#039;&#039;&#039;&lt;br /&gt;
# Da li atribut klase može biti tipa iste te klase, a šta važi ako je referenca ili pokazivač na taj tip? - &#039;&#039;&#039;Atributi ne mogu da budu tipa klase koja se definiše, ali mogu da budu pokazivači ili reference na tu klasu.&#039;&#039;&#039;&lt;br /&gt;
# Da li rezultati i parametri metoda mogu biti tipa iste te klase, a šta važi ako je referenca ili pokazivač na taj tip? - &#039;&#039;&#039;Vrednost rezultata, kao i parametri mogu da budu tipa klase čiji su članovi kao i tipa pokazivača ili reference na tu klasu.&#039;&#039;&#039;&lt;br /&gt;
# Na koji način možemo baratati sa objektima neke klase ukoliko imamo njenu deklaraciju, a ne i definiciju? - &#039;&#039;&#039;Pre definicije klase, a posle deklaracije mogu da se definišu pokazivači i reference na tu klasu, a ne mogu da se definišu objekti te klase.&#039;&#039;&#039;&lt;br /&gt;
# Koji operatori su ugrađeni, podrazumevani? - &#039;&#039;&#039;= &amp;amp; * . -&amp;gt; []&#039;&#039;&#039;&lt;br /&gt;
# Kog je tipa pokazivač &amp;lt;code&amp;gt;this&amp;lt;/code&amp;gt;? - &#039;&#039;&#039;Tip ovog pokazivača je &amp;quot;konstantni pokazivač na klasu čiji je metod član&amp;quot;.&#039;&#039;&#039;&lt;br /&gt;
# Da li je dozvoljeno u metodi imati parametar istog imena kao i neki atribut te klase? - &#039;&#039;&#039;Da.&#039;&#039;&#039;&lt;br /&gt;
# Šta su metodi inspektori, a šta mutatori? - &#039;&#039;&#039;Metod koji ne menja stanje objekta je inspektor, a metod koji može i da menja stanje objekta je mutator.&#039;&#039;&#039;&lt;br /&gt;
# Kog je tipa pokazivač &amp;lt;code&amp;gt;this&amp;lt;/code&amp;gt; u inspektor metodama? - &#039;&#039;&#039;const X*const&#039;&#039;&#039;&lt;br /&gt;
# U koju svrhu se koristi modifikator &amp;lt;code&amp;gt;volatile&amp;lt;/code&amp;gt;? - &#039;&#039;&#039;Kao napomena prevodiocu da ne vrši neke optimizacije jer objekat može da promeni stanje nezavisno od toka funkcije.&#039;&#039;&#039;&lt;br /&gt;
# Da li je dovoljno da se dva metoda razliku samo u modifikatorima? - &#039;&#039;&#039;Da.&#039;&#039;&#039;&lt;br /&gt;
# Koji sve modifikatori postoje? - &#039;&#039;&#039;const, volatile, &amp;amp;, &amp;amp;&amp;amp;&#039;&#039;&#039;&lt;br /&gt;
# Koji je tip rezultata konstruktora? - &#039;&#039;&#039;Konstruktor nema tip rezultata (ni void).&#039;&#039;&#039;&lt;br /&gt;
# Da li konstruktor može imati parametar tipa te klase? - &#039;&#039;&#039;Ne može ako je jedini parametar.&#039;&#039;&#039;&lt;br /&gt;
# Kada se briše podrazumevani ugrađeni konstruktor? - &#039;&#039;&#039;Definisanjem nekog novog konstruktora se suspenduje ugrađeni.&#039;&#039;&#039;&lt;br /&gt;
# Da li je moguće kreirati niz objekata neke klase ukoliko ta klasa nema podrazumevani konstruktor? - &#039;&#039;&#039;Ne, jer se podrazumevani konstruktor poziva za svaki element niza.&#039;&#039;&#039;&lt;br /&gt;
# Da li je dozvoljeno ostaviti prazne zagrade pri definiciji automatskog objekta? - &#039;&#039;&#039;Nisu dozvoljene prazne zagrade () jer bi to bi se prevelo kao deklaracija.&#039;&#039;&#039;&lt;br /&gt;
# Koja je svrha &amp;lt;code&amp;gt;explicit&amp;lt;/code&amp;gt; reči kod konstruktora? - &#039;&#039;&#039;Sprečavanje implicitne konverzije.&#039;&#039;&#039;&lt;br /&gt;
# Kojim redosledom se izvršava incijalizacija atributa klase? - &#039;&#039;&#039;Redosledom navođenja u klasi.&#039;&#039;&#039;&lt;br /&gt;
# Da li atribut može da ima inicijalizator i u telu klase i u definiciji konstruktora? - &#039;&#039;&#039;Može. Ako atribut ima inicijalizator u telu klase i u definiciji konstruktora, primenjuje se inicijalizator iz definicije konstruktora.&#039;&#039;&#039;&lt;br /&gt;
# Kada je inicijalizacija atributa neophodna? - &#039;&#039;&#039;Inicijalizacija je neophodna: kada ne postoji podrazumevani konstruktor klase atributa, kada je atribut nepromenljiv podatak i kada je atribut referenca.&#039;&#039;&#039;&lt;br /&gt;
# Šta sme da postoji u listi incijalizatora kod delegirajućeg konstruktora? - &#039;&#039;&#039;Poziv drugog (ciljnog) konstruktora iste klase.&#039;&#039;&#039;&lt;br /&gt;
# Da li je prevodilac otkriva rekurzivno delegiranje (da se konstruktori ciklično pozivaju)? - &#039;&#039;&#039;Ne mora da je otkrije i tada se ulazi u beskonačnu rekurziju.&#039;&#039;&#039;&lt;br /&gt;
# Kako se implicitno briše kopirajući, a kako premeštajući konstruktor? - &#039;&#039;&#039;Kopirajući konstruktor implicitno se suspenduje pisanjem premeštajućeg konstruktora ili premeštajućeg operatora dodele. Ugrađeni premeštajući konstruktor se suspenduje ako se eksplicitno definiše: premeštajući konstruktor, kopirajući konstruktor, destruktor ili operator dodele.&#039;&#039;&#039;&lt;br /&gt;
# Kog tipa može biti parametar konstruktora kopije i da li može imati još parametara sa podrazumevanim vrednostima? - &#039;&#039;&#039;Konstruktor kopije ima parametar tipa XX&amp;amp; ili const XX&amp;amp;. Ostali  parametri kopirajućeg konstruktora moraju da imaju podrazumevane vrednosti.&#039;&#039;&#039;&lt;br /&gt;
# Zašto se mora eksplicitno pisati premeštajući konstruktor ukoliko nam je potreban, tj. zašto nam nije dovoljan ugrađeni? - &#039;&#039;&#039;Zato što ugrađeni premeštajući konstruktor pravi plitku kopiju originala.&#039;&#039;&#039;&lt;br /&gt;
# Kog tipa može biti parametar konstruktora premeštanja i da li može imati još parametara sa podrazumevanim vrednostima? - &#039;&#039;&#039;Parametar premeštajućeg konst. je referenca na dvrednost: XX&amp;amp;&amp;amp;. Ostali parametri moraju da imaju podrazumevane vrednosti.&#039;&#039;&#039;&lt;br /&gt;
# Koji konstruktor se može pozvati ukoliko premeštajući ne postoji? - &#039;&#039;&#039;Ako u klasi ne postoji premeštajući, poziva se kopirajući konstruktor.&#039;&#039;&#039;&lt;br /&gt;
# Kog tipa rezultata je destruktor? - &#039;&#039;&#039;Nema tip rezultata.&#039;&#039;&#039;&lt;br /&gt;
# Da li destruktor može imati parametre i da li oni mogu imati podrazumevane vrednosti? - &#039;&#039;&#039;Ne može da ima parametre.&#039;&#039;&#039;&lt;br /&gt;
# Da li se destruktor može eksplicitno pozvati? - &#039;&#039;&#039;Može, npr. x.~X().&#039;&#039;&#039;&lt;br /&gt;
# Da li se statički atribut može i definisati u klasi, i koji slučaj je izuzetak? - &#039;&#039;&#039;U klasi se statički atribut samo deklariše, a definiše se na globalnom nivou. Izuzetak je imenovana celobrojna konstanta koja može da se definiše i u definiciji klase.&#039;&#039;&#039;&lt;br /&gt;
# Čime se inicijalizuje statički atribut ako se ne navede inicijalizator u definiciji? - &#039;&#039;&#039;Nulom.&#039;&#039;&#039;&lt;br /&gt;
# Da li se telo statičke metode može nalaziti u definiciji klase? - &#039;&#039;&#039;Može.&#039;&#039;&#039;&lt;br /&gt;
# Da li statičke metode mogu imati modifikatore? - &#039;&#039;&#039;Da.&#039;&#039;&#039;&lt;br /&gt;
# Šta se dešava ako preko konkretnog objekta pozovemo statički metod? - &#039;&#039;&#039;Klasa pokazanog objekta kao levog operanda se određuje statički.&#039;&#039;&#039;&lt;br /&gt;
# Da li je moguće pozvati statički metod ako nije kreiran nijedan objekat te klase? - &#039;&#039;&#039;Da.&#039;&#039;&#039;&lt;br /&gt;
# Koje osobine ima prijateljstvo među klasama? - &#039;&#039;&#039;Prijatelji klase mogu da pristupaju njenim privatnim članovima. Prijateljstvo je relacija koja reguliše isključivo pravo pristupa, a ne oblast važenja i vidljivost identifikatora. Prijateljstvo se ne nasleđuje, nije simetrična relacija i nije tranzitivna relacija&#039;&#039;&#039;&lt;br /&gt;
# Da li je moguće definisati prijateljsku metodu unutar definicije klase, da li se tad podrazumeva &amp;lt;code&amp;gt;inline&amp;lt;/code&amp;gt;? - &#039;&#039;&#039;Ako se u definiciji klase navodi definicija prijateljske funkcije podrazumeva se inline.&#039;&#039;&#039;&lt;br /&gt;
# Da li je bitno gde se oznaka prijateljstva nalazi, tj. u kojoj sekciji klase? - &#039;&#039;&#039;Nije.&#039;&#039;&#039;&lt;br /&gt;
# Da li prijateljska funkcija ima pokazivač &amp;lt;code&amp;gt;this&amp;lt;/code&amp;gt; u sebi? - &#039;&#039;&#039;Prijateljska funkcija nema pokazivač this na objekat klase kojoj je prijatelj,&#039;&#039;&#039;&lt;br /&gt;
# Da li prijateljske globalne funkcije mogu imati modifikatore, npr. &amp;lt;code&amp;gt;const&amp;lt;/code&amp;gt;? - &#039;&#039;&#039;Modifikator nema smisla za globalnu prijateljsku funkciju.&#039;&#039;&#039;&lt;br /&gt;
# Da li je moguća konverzija tipa nad kojim je pozvan objekat (skrivenog argumenta) u drugi tip? - &#039;&#039;&#039;Nije moguća konverzija skrivenog argumenta u drugi tip.&#039;&#039;&#039;&lt;br /&gt;
# Da li se doseg imena okružujuće klase proteže na ugnježdenu klasu i obratno? - &#039;&#039;&#039;Ugnežđena klasa (tip) se nalazi u dosegu imena okružujuće klase. Izvan okružujuće klase imenu ugnežđene klase može da se pristupi samo preko operatora proširenja dosega imena ::&#039;&#039;&#039;&lt;br /&gt;
# Da li je se u ugnježdenoj klasi može direktno pristupiti ne-statičkim poljima okružujuće klase? - &#039;&#039;&#039;Ne.&#039;&#039;&#039;&lt;br /&gt;
# Da li postoji neka relacija prijateljstva između ugnježdene i okružujuće klase? - &#039;&#039;&#039;Ugnežđena klasa je implicitno prijatelj okružujuće klase, ali okružujuća klasa nije prijatelj ugnežđene.&#039;&#039;&#039;&lt;br /&gt;
# Koju oblast važenja imaju lokalne klase? - &#039;&#039;&#039;Od deklaracije do kraja bloka u kojem je deklarisana.&#039;&#039;&#039;&lt;br /&gt;
# Da li je u lokalnoj klasi dozvoljeno pristupiti lokalnim promenljivama, a da li statičkim lokalnim promenljivama? - &#039;&#039;&#039;Dozvoljeno je samo pristupati statičkim lokalnim promenljivama.&#039;&#039;&#039;&lt;br /&gt;
# Da li metodi lokalne klase mogu da se definišu van definicije klase? - &#039;&#039;&#039;Ne. Metodi lokalne klase moraju da se definišu unutar definicije klase.&#039;&#039;&#039;&lt;br /&gt;
# Da li lokalna klasa može da ima statičke atribute? - &#039;&#039;&#039;Ne može.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Preklapanje operatora ==&lt;br /&gt;
# Koji operatori se ne mogu preklopiti?&lt;br /&gt;
# Da li je moguće promeniti osobine operatora?&lt;br /&gt;
# Kako se pišu operatori ako se simbol operatora sastoji od slova (npr. &amp;lt;code&amp;gt;new&amp;lt;/code&amp;gt;)?&lt;br /&gt;
# Da li operatorske funkcije mogu imati podrazumevane vrednosti?&lt;br /&gt;
# Da li operatorske metode mogu biti statički?&lt;br /&gt;
# Da li operatorske metode mogu imati modifikatore?&lt;br /&gt;
# Da li je moguće napisati operatorsku funkciju gde nijedan parametar nije klasnog tipa?&lt;br /&gt;
# Da li je moguće u programu imati isti operator i kao metod i kao globalnu funkciju?&lt;br /&gt;
# Da li operatorski metod dozvoljava konverzije?&lt;br /&gt;
# Kako se piše operatorska funkcija ako prvi operand nije klasnog tipa?&lt;br /&gt;
# Koji operatori moraju biti ne-statički?&lt;br /&gt;
# Kada se brišu ugrađeni kopirajući i premeštajući operatori dodele?&lt;br /&gt;
# Kako se razlikuje postfiksna i prefiksna varijanta prilikom pisanja inkrementirajućeg i dekrementirajućeg operatora?&lt;br /&gt;
# Šta su funkcijska klasa i funkcijski objekat?&lt;br /&gt;
# Kako se preklapa operator &amp;lt;code&amp;gt;-&amp;gt;&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Kog tipa treba da bude povratna vrednost operatora &amp;lt;code&amp;gt;-&amp;gt;&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Kog tipa može da bude povratna vrednost kast operatora?&lt;br /&gt;
# Kako se piše kast operator, šta se mora izostaviti u deklaraciji i definiciji?&lt;br /&gt;
# Na koja dva načina se može pozvati kast operator i koje ograničenje važi za jedan od načina?&lt;br /&gt;
# Koja je uloga modifikatora &amp;lt;code&amp;gt;explicit&amp;lt;/code&amp;gt; kod kast operatora?&lt;br /&gt;
# Kako se preklapaju operatori &amp;lt;code&amp;gt;new&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Da li funkcije za operatore &amp;lt;code&amp;gt;new&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt; treba da pozivaju konstruktore/destruktore?&lt;br /&gt;
# Koju povratnu vrednost treba da ima operator &amp;lt;code&amp;gt;new&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Da li klasa može imati više preklopljenjih operatora &amp;lt;code&amp;gt;new&amp;lt;/code&amp;gt; i kako se to postiže?&lt;br /&gt;
# Koliko preklopljenjih operatora &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt; funkcija može da ima?&lt;br /&gt;
# Kako se unutar preklopljenjih operatora &amp;lt;code&amp;gt;new&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt; pozivaju ugrađeni operatori &amp;lt;code&amp;gt;new&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Da li operatori &amp;lt;code&amp;gt;new&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt; mogu biti virtuelni?&lt;br /&gt;
# Da li se operatori &amp;lt;code&amp;gt;new&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt; nasleđuju?&lt;br /&gt;
# Šta trebaju da vraćaju operatorske funkcije &amp;lt;code&amp;gt;&amp;amp;lt;&amp;amp;lt;&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;&amp;amp;gt;&amp;amp;gt;&amp;lt;/code&amp;gt; kada se realizuje unos/ispis?&lt;br /&gt;
# Da li operatorske funkcije za unos/ispis mogu biti metode?&lt;br /&gt;
# Koji operatori se mogu napisati za nabrajajuće tipove?&lt;br /&gt;
&lt;br /&gt;
== Izvođenje ==&lt;br /&gt;
# Šta je višestruko izvođenje, da li je to i izvođenje iz već izvedene klase?&lt;br /&gt;
# Šta označava modifikator &amp;lt;code&amp;gt;final&amp;lt;/code&amp;gt; kod klasa, a šta kod metoda?&lt;br /&gt;
# Da li se može reč &amp;lt;code&amp;gt;final&amp;lt;/code&amp;gt; pojaviti i kao identifikator?&lt;br /&gt;
# Šta izvedena klasa ne nasleđuje iz osnovne?&lt;br /&gt;
# U kojim slučajevima se može pristupiti zaštićenim članovima iz metoda izvedene klase?&lt;br /&gt;
# Kako se može eksplicitno promeniti pravo pristupa nasleđenom članu, i da li se može promeniti pravo pristupa članu koji je u osnovnoj klasi privatan?&lt;br /&gt;
# Koja je razlika između javnog, privatnog i zaštićenog izvođenja, u kojim slučajevima objekat izvedene klase može da zameni objekat osnovne klase?&lt;br /&gt;
# Šta se dešava ukoliko u izvedenoj klasi napiše metod koji ima isto ime kao metod iz osnovne klase?&lt;br /&gt;
# Na koji način se može pristupiti sakrivenom polju osnovne klase?&lt;br /&gt;
# Kako se prilikom zaštićenog i privatnog izvođenja restaurira vidljivost svih metoda nekog imena, a kako samo pojedinačnog?&lt;br /&gt;
# Da li se konstruktori nasleđuju prilikom izvođenja?&lt;br /&gt;
# Šta se dešava kad se uvezu konstruktori?&lt;br /&gt;
# Koje izvođenje je podrazumevano?&lt;br /&gt;
# Da li se može izvesti iz unije i da li unije mogu izvoditi?&lt;br /&gt;
# Da li konstruktor može inicijalizovati nasleđene atribute?&lt;br /&gt;
# Da li je objekat izvedene klase uvek i objekat osnovne klase?&lt;br /&gt;
# Da li se virtuelnost funkcije nasleđuje, tj. da li se u izvedenim klasama mora navesti da je funkcija virtuelna?&lt;br /&gt;
# U kojim stvarima se potpis metode u izvedenoj klasi sme razlikovati od potpisa virtuelne metode u osnovnoj klasi, šta se dešava ako se razlikuje više?&lt;br /&gt;
# Da li se svaki virtuelni metod mora definisati u svakoj izvedenoj klasi i šta se dešava ako neki nije napisan?&lt;br /&gt;
# Kada se aktivira virtuelni mehanizam, tj. kako se objektu mora pristupiti?&lt;br /&gt;
# Koja je svrha modifikatora &amp;lt;code&amp;gt;override&amp;lt;/code&amp;gt;, da li je to rezervisana reč?&lt;br /&gt;
# Da li se i &amp;lt;code&amp;gt;override&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;final&amp;lt;/code&amp;gt; mogu zajedno naći u potpisu metoda?&lt;br /&gt;
# Šta dodatno sadrži svaki objekat polimorfne klase?&lt;br /&gt;
# Da li statičke metode i globalne prijateljske funkcije mogu biti polimorfne, ako ne mogu kako se onda postiže polimorfno ponašanje kod njih?&lt;br /&gt;
# Da li konstruktori i destruktori mogu biti virtuelni i zašto?&lt;br /&gt;
# Da li izvedena klasa treba eksplicitno pozvati destruktor osnovne klase?&lt;br /&gt;
# Da li je niz objekata izvedene klase jedna vrsta niza objekata osnovne klase, da li se mogu bezbedno konvertovati, da li postoji slučaj kad može doći do greške i da li prevodilac to može otkriti?&lt;br /&gt;
# Da li je dozvoljena konverzija niza pokazivača na objekte izvedene klase u niz pokazivača na objekte osnovne klase?&lt;br /&gt;
# Kada je klasa virtuelna, a kada apstraktna?&lt;br /&gt;
# Da li je moguće imati primere apstraktne klase, a šta važi za pokazivače i reference takve klase?&lt;br /&gt;
# Kako je moguće sprečiti stvaranje objekata klase čije su svi metode konkretne i ne-apstraktne?&lt;br /&gt;
# Da li klasa može da ima apstraktni destruktor bez definicije?&lt;br /&gt;
# Da li klasa izvedena iz apstraktne klase mora da definiše sve apstraktne metode i šta se dešava ukoliko ih ne definiše?&lt;br /&gt;
# Da li apstraktna klasa može da ima konstruktor i kako on radi?&lt;br /&gt;
# Kakva mora da bude klasa pokazivača/reference koja se šalje kao parametar operatoru &amp;lt;code&amp;gt;dynamic_cast&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Šta se dešava ukoliko pokazivač/referenca prosleđeni operatoru &amp;lt;code&amp;gt;dynamic_cast&amp;lt;/code&amp;gt; ipak ne upućuju na objekat izvedene klase (ili klase još izvedenije iz nje) u koju se vrši konverzija?&lt;br /&gt;
# Da li operator &amp;lt;code&amp;gt;typeid&amp;lt;/code&amp;gt; izračunava izraz?&lt;br /&gt;
# Šta vraća operator &amp;lt;code&amp;gt;typeid&amp;lt;/code&amp;gt; kad je upotrebljen nad objektom polimorfne klase (u obliku reference ili dereferenciranog pokazivača), a šta nad objektom ne-polimorfne klase?&lt;br /&gt;
# Šta se dešava ukoliko se u izrazu prosleđenom &amp;lt;code&amp;gt;typeid&amp;lt;/code&amp;gt; operatoru dereferencira &amp;lt;code&amp;gt;nullptr&amp;lt;/code&amp;gt; pokazivač?&lt;br /&gt;
# Koji koncept uvodi operator &amp;lt;code&amp;gt;typeid&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Koji tip objekta vraća operator &amp;lt;code&amp;gt;typeid&amp;lt;/code&amp;gt; i da li je moguće sačuvati njegov rezultat u promenljivu i zašto?&lt;br /&gt;
# Šta je problem dijamant strukture i kako se rešava?&lt;br /&gt;
# Kojim redosledom se izvršava konstrukcija pri višestrukom nasleđivanju?&lt;br /&gt;
&lt;br /&gt;
== Izuzeci ==&lt;br /&gt;
# Kog tipa može biti bačeni izuzetak?&lt;br /&gt;
# Da li operator &amp;lt;code&amp;gt;noexcept&amp;lt;/code&amp;gt; izračunava izraz i na koji način onda gleda tačnost?&lt;br /&gt;
# Kojim redosledom treba navoditi rukovaoce?&lt;br /&gt;
# Koji je životni vek bačenog objekta?&lt;br /&gt;
# Šta se dešava ukoliko je bačen lokalni objekat?&lt;br /&gt;
# Šta se dešava sa atributima klase ukoliko se desi izuzetak u konstruktoru koji propagira van konstruktora?&lt;br /&gt;
# Koja je svrha funkcijske naredbe &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Da li se u rukovaocima funkcijske naredbe &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt; mogu koristiti parametri funkcije?&lt;br /&gt;
# Šta moraju da urade rukovaoci funkcijske naredbe &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt; na kraju svog izvršavanja?&lt;br /&gt;
# Da li se treba pristupati atributima i nasleđenom podobjektu unutar rukovaoca funkcijskog &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt; bloka konstruktora?&lt;br /&gt;
# Šta se dešava na kraju rukovaoca funkcijskog &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt; bloka konstruktora?&lt;br /&gt;
# Čemu je ekvivalentan modifikator &amp;lt;code&amp;gt;noexcept&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Da li konstruktor sa funkcijskim &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt; blokom sme imati &amp;lt;code&amp;gt;noexcept&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Šta se dešava ukoliko se za neki izuzetak ne pronađe rukovalac?&lt;br /&gt;
# Šta podrazumevano radi funkcija &amp;lt;code&amp;gt;terminate()&amp;lt;/code&amp;gt; i da li je to moguće promeniti, i ukoliko je moguće šta ta alternativna funkcija mora na kraju da uradi?&lt;br /&gt;
# Šta se dešava ukoliko se u funkciji desi neočekivan izuzetak (u funkciji označenoj sa &amp;lt;code&amp;gt;noexcept&amp;lt;/code&amp;gt; ili ako izuzetak nije na listi očekivanih izuzetaka)?&lt;br /&gt;
# Šta podrazumevano radi funkcija &amp;lt;code&amp;gt;terminate()&amp;lt;/code&amp;gt; i da li je to moguće promeniti, i ukoliko je moguće šta ta alternativna funkcija mora na kraju da uradi?&lt;br /&gt;
# Da li ijedna metoda klase izvedene iz &amp;lt;code&amp;gt;std::exception&amp;lt;/code&amp;gt; sme da baci izuzetak i zašto?&lt;br /&gt;
&lt;br /&gt;
== Šabloni ==&lt;br /&gt;
# Da li je mehanizam generika statički ili dinamički?&lt;br /&gt;
# Da li ima smisla odvojeno prevođenje šablona, tj. pisanje istih u &amp;lt;code&amp;gt;.cpp&amp;lt;/code&amp;gt; datotekama i koja je mana toga?&lt;br /&gt;
# Šta mogu biti formalni parametri šablona?&lt;br /&gt;
# Kako se na zahtev generišu konkretne funkcije i klase iz šablona?&lt;br /&gt;
# Da li se implicitno mogu generisati konkretne funkcije i klase iz šablona i pod kojim uslovima?&lt;br /&gt;
# Kada je neophodno eksplicitno navesti stvarne argumente šablona funkcije?&lt;br /&gt;
# Kada će biti sprečeno automatsko generisanje funkcije iz šablona, a kako se može forsirati generisanje funkcije iz šablona?&lt;br /&gt;
# Da li se pri generisanju klase iz šablona generišu i sve njene virtuelne metode?&lt;br /&gt;
# Da li se može imenovati klasa pri generisanju iz šablona?&lt;br /&gt;
# Da li argumenti šablona mogu da imaju podrazumevane vrednosti i šta se dešava pri implicitnom zaključivanju kod šablonskih funkcija?&lt;br /&gt;
# Da li se podrazumevane vrednosti argumenata moraju navesti i prilikom definicije svakog metoda šablonske klase ili je dovoljno samo jednom prilikom definicije/deklaracije klase?&lt;br /&gt;
# Ako je formalni parametar šablona konstanta, kog tipa mora da bude?&lt;br /&gt;
# Iz kog razloga su samo konstantne dozvoljene kao parametri šablona, a ne i promenljive?&lt;br /&gt;
# Da li raniji formalni parametri se mogu koristiti za podrazumevane/početne vrednosti kasnijih parametara šablona?&lt;br /&gt;
# Da li funkcije mogu biti parametri šablona i ako ne šta se u tom slučaju radi?&lt;br /&gt;
# Kakvi su konstruktori inicijalizatorske liste?&lt;br /&gt;
# Koje javne metode imaju inicijalizatorske liste?&lt;br /&gt;
# Kako pišemo konstruktor klase ako želimo da objekat inicijalizujemo inicijalizatorskom listom proizvoljne dužine?&lt;br /&gt;
# Da li se argumenti konstruktora mogu navesti pomoću incijalizatorske liste i koja razlika postoji između tog načina i poziva konstruktora čiji je parametar inicijalizatorska lista?&lt;br /&gt;
# U kom slučaju se neće pozvati konstruktor koji prima inicijalizatorsku listu, a objekat se inicijalizuje inicijalizatorskom listom?&lt;br /&gt;
# Da li parametri šablona prilikom specijalizacije mogu imati podrazumevane vrednosti?&lt;br /&gt;
# Koja ograničenja važe za specijalizaciju šablona funkcije?&lt;br /&gt;
# Kada je specijalizacija moguća, a kada prestaje biti moguća?&lt;br /&gt;
# Šta se dešava ukoliko imamo više podjednako specijalizovanih šablona, kako se odlučuje koji šablon je najspecijalizovaniji?&lt;br /&gt;
# Da li metode klase mogu biti generičke, da li takve metode mogu biti virtuelne i da li mogu biti definisane i van klase?&lt;br /&gt;
# Da li konstruktori i destruktori mogu da budu generički (bez obzira na to da li je klasa generička)?&lt;br /&gt;
# Kako se pozivaju generički metodi, a kako generički konstruktori?&lt;br /&gt;
# Da li ugnježdene klase mogu da budu generičke i kakva mora da bude spoljašnja klasa?&lt;br /&gt;
&lt;br /&gt;
[[Категорија:ОО1]]&lt;/div&gt;</summary>
		<author><name>Milos</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9E%D0%9E1/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=6924</id>
		<title>ОО1/Питања</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9E%D0%9E1/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=6924"/>
		<updated>2023-11-24T05:06:24Z</updated>

		<summary type="html">&lt;p&gt;Milos: /* Klase i objekti */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
{{nerešeno}}&lt;br /&gt;
Ispod su sakupljena razna pitanja sa prezentacija iz predmeta, zasad bez rešenja. Namenjena su za obnavljanje gradiva pred kolokvijum, kako bi studenti mogli da testiraju svoje znanje odgovaranjem na njih.&lt;br /&gt;
&lt;br /&gt;
== Uvod ==&lt;br /&gt;
# Prilikom izvođenja, da li se stari programski kod mora menjati, opet prevoditi i opet testirati? - &#039;&#039;&#039;Ne.&#039;&#039;&#039;&lt;br /&gt;
# Šta je apstrakcija? - &#039;&#039;&#039;Prepoznavanje bitnih svojstava skupova sličnih objekata i predstavljanje zajedničkom klasom.&#039;&#039;&#039;&lt;br /&gt;
# Koja su 3 značajna napretka u evoluciji programskih jezika? - &#039;&#039;&#039;Apstrakcija izraza (FORTRAN), apstrakcija kontrole (Algol60) i apstrakcija podataka (Pascal).&#039;&#039;&#039;&lt;br /&gt;
# Od koja dva dela se svaka klasa sastoji? - &#039;&#039;&#039;Ugovor (interfejs) i implementacija.&#039;&#039;&#039;&lt;br /&gt;
# Šta su objekti (i u užem i u širem smislu)? - &#039;&#039;&#039;Objekti su primerci odgovarajućih klasa.&#039;&#039;&#039;&lt;br /&gt;
# Da li je polimorfizam statički ili dinamički mehanizam? - &#039;&#039;&#039;Dinamički.&#039;&#039;&#039;&lt;br /&gt;
# Šta je polimorfizam? - &#039;&#039;&#039;Ponašanje objekta ne zavisi samo od tipa pokazivača (upućivača) koji pokazuje na objekat već od tipa pokazivanog (upućivanog) objekta koji je poznat u vreme izvršenja.&#039;&#039;&#039;&lt;br /&gt;
# Šta su objektno-bazirani jezici, a šta objektno-orijentisani? - &#039;&#039;&#039;Objektno-zasnovani jezici podržavaju: apstrakciju, kapsulaciju i modularnost. Objektno-orijentisani jezici dodatno podržavaju princip nasleđivanja.&#039;&#039;&#039;&lt;br /&gt;
# Da li je mehanizam obrade izuzetaka svojstven samo za objektno-orijentisane jezike? - &#039;&#039;&#039;Ne.&#039;&#039;&#039;&lt;br /&gt;
# Da li je mehanizam preklapanja operatora svojstven samo za objektno-orijentisane jezike? - &#039;&#039;&#039;Ne.&#039;&#039;&#039;&lt;br /&gt;
# Da li se mogu preklopiti svi operatori? - &#039;&#039;&#039;Ne.&#039;&#039;&#039;&lt;br /&gt;
# Da li je generički mehanizam statički ili dinamički? - &#039;&#039;&#039;Statički.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Proširenja C ==&lt;br /&gt;
# Šta je deklaracija, a šta definicija?&lt;br /&gt;
# Koliko puta se smeju ponoviti deklaracije i definicije jednog istog objekta/funkcije/tipa?&lt;br /&gt;
# Kakva može promenljiva da bude (i po veku trajanja i po mestu gde se nalazi)?&lt;br /&gt;
# Šta je l-vrednost, a šta d-vrednost?&lt;br /&gt;
# Da li uvek sa leve strane znaka &amp;lt;code&amp;gt;=&amp;lt;/code&amp;gt; može da stoji l-vrednost?&lt;br /&gt;
# Koji operatori zahtevaju da im operandi budu l-vrednosti?&lt;br /&gt;
# Koji operatori bi trebalo da vrate l-vrednost?&lt;br /&gt;
# Koju oblast važenja imaju i koliko traju: lokalna imena, globalna imena, statički objekti, dinamički objekti, automatski objekti, privremeni objekti?&lt;br /&gt;
# Da li je moguće na neki način pristupiti globalnom imenu ukoliko je ono sakriveno od strane lokalnog imena, a lokalnom imenu u spoljašnjem bloku ukoliko je ono sakriveno od strane lokalnog imena u unutrašnjem bloku?&lt;br /&gt;
# Da li se u uslovu &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; može definisati neka promenljiva i ako da kakva mora da bude i koliko ona traje?&lt;br /&gt;
# Da li je unutar funkcije moguće imati promenljivu istog imena kao neki od parametara i ako ne koji je razlog?&lt;br /&gt;
# Koju oblast važenja imaju članovi strukture/klase?&lt;br /&gt;
# Na koje sve načine se može pristupiti imenima članovima klase, van te klase?&lt;br /&gt;
# Koju oblast važenja imaju labele?&lt;br /&gt;
# Da li je moguće sa &amp;lt;code&amp;gt;goto&amp;lt;/code&amp;gt; naredbom preskočiti definiciju neke promenljive i skočiti na labelu koja se nalazi nakon nje?&lt;br /&gt;
# Kada se kreiraju statički objekti?&lt;br /&gt;
# Da li je C++ strogo ili labavo tipiziran jezik?&lt;br /&gt;
# Koja je razlika između 4 kast operatora i kad se koji koristi?&lt;br /&gt;
# Na koja dva načina možemo implementirati kastovanje (navesti mane ukoliko ih ima neki način)?&lt;br /&gt;
# Šta radi operator &amp;lt;code&amp;gt;decltype&amp;lt;/code&amp;gt;, da li računa izraz?&lt;br /&gt;
# Koja je bitna razlika između &amp;lt;code&amp;gt;decltype&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;auto&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Da li se &amp;lt;code&amp;gt;auto&amp;lt;/code&amp;gt; može koristiti sa povratnom vrednosti funkcije i u kojim slučajevima?&lt;br /&gt;
# Kog je tipa string literal u C++ (&amp;quot;abcd&amp;quot;)?&lt;br /&gt;
# Kakvu razliku pravi pozicija gde se nalazi reč &amp;lt;code&amp;gt;const&amp;lt;/code&amp;gt; u definiciji pokazivača?&lt;br /&gt;
# Na koje načine je moguće pristupiti imenu iz nekog prostora imena?&lt;br /&gt;
# Da li je validno imati objekat istog imena kao i neki tip?&lt;br /&gt;
# Da li je moguće imati isto ime (identifikator) za dve različite stvari u jednom prostoru imena, tj. da ime nije jednoznačno?&lt;br /&gt;
# Koji operatori su definisani za tipove nabrajanja (&amp;lt;code&amp;gt;enum&amp;lt;/code&amp;gt;)?&lt;br /&gt;
# Koje konverzije postoje za tipove nabrajanja?&lt;br /&gt;
# Da li je moguće definisati koji tip koristi &amp;quot;under-the-hood&amp;quot; tip nabrajanja, da se ne koristi uvek &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;, i kako?&lt;br /&gt;
# Koja je razlika između običnog tipa nabrajanja i tipa nabrajanja sa ograničenim dosegom (&amp;lt;code&amp;gt;enum class&amp;lt;/code&amp;gt;)?&lt;br /&gt;
# Kako se koristi incijalizatorska lista prilikom kreiranja unije?&lt;br /&gt;
# Šta se dešava ukoliko inicijalizatorska lista sadrži više vrednosti nego što ima podataka ta struktura?&lt;br /&gt;
# Da li se inicijalizatorske liste mogu koristiti pri dodeli vrednosti?&lt;br /&gt;
# Kako se pristupa poljima bezimene unije/strukture?&lt;br /&gt;
# Da li je unija/struktura bezimena ako nema ime a ipak kreiramo bar jedan objekat ili pokazivač tog tipa?&lt;br /&gt;
# Na koji način radi &amp;lt;code&amp;gt;mutable&amp;lt;/code&amp;gt; polje?&lt;br /&gt;
# Šta se dešava ukoliko operator &amp;lt;code&amp;gt;new&amp;lt;/code&amp;gt; ne uspe da alocira memoriju jer nema dovoljno prostora?&lt;br /&gt;
# Šta se dešava ukoliko pokušamo da obrišemo &amp;lt;code&amp;gt;nullptr&amp;lt;/code&amp;gt; sa &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt; operatorom?&lt;br /&gt;
# Šta vraća operator &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Ukoliko dinamički alociramo matricu (više-dimenzioni niz, a ne niz nizova (&amp;lt;code&amp;gt;new Tacka[10][10]&amp;lt;/code&amp;gt;)) da li dimenzije mogu biti promenljivi izrazi ili moraju biti konstante?&lt;br /&gt;
# Da li je moguće napraviti niz referenci, pokazivač na referencu, referencu na pokazivač ili referencu na referencu?&lt;br /&gt;
# Da li &amp;quot;moderna&amp;quot; verzija for-petlje (&amp;lt;code&amp;gt;for(tip prom: niz) naredba&amp;lt;/code&amp;gt;) u svakom ciklusu petlje sadrži referencu ili kopiju tekućeg elementa niza, tj. da li promena objekta &amp;lt;code&amp;gt;prom&amp;lt;/code&amp;gt; utiče na niz?&lt;br /&gt;
# Da li je referenca na d-vrednost takođe d-vrednost ili je l-vrednost?&lt;br /&gt;
# Da li referenca na d-vrednost može upućivati na konstantnu/nepromenljivu d-vrednost?&lt;br /&gt;
# Da li parametri funkcije mogu biti tipa reference na d-vrednost?&lt;br /&gt;
# Da li je dozvoljeno inicijalizovati referencu na d-vrednost pomoću l-vrednosti?&lt;br /&gt;
# Gde treba da se nalazi deklaracija funkcije koja se neposredno ugrađuje (&amp;lt;code&amp;gt;inline&amp;lt;/code&amp;gt; funkcije)?&lt;br /&gt;
# Kada se računaju podrazumevane vrednosti argumenata?&lt;br /&gt;
# Da li je mehanizam preklapanja imena funkcije statički ili dinamički?&lt;br /&gt;
# Da li je dovoljno da se samo tipovi rezultata razlikuju da bi postojale dve funkcije istog imena?&lt;br /&gt;
# Da li rezultat ternarnog operatora može biti l-vrednost?&lt;br /&gt;
# Da li su reinterpretirajuća i konstantna konverzija bezbedne?&lt;br /&gt;
&lt;br /&gt;
== Klase i objekti ==&lt;br /&gt;
# Kako se formalnije nazivaju podaci i funkcije koji su deo klase? - &#039;&#039;&#039;Podaci = atributi, funkcije = metodi.&#039;&#039;&#039;&lt;br /&gt;
# Kako se naziva objekat koji poziva neki metod, a kako onaj čiji je metod pozvan? - &#039;&#039;&#039;Objekat koji poziva metod naziva se objekat-klijent, a objekat čiji se metod poziva je objekat-server.&#039;&#039;&#039;&lt;br /&gt;
# Da li može biti više sekcija vidljivosti iste vrste? - &#039;&#039;&#039;Može.&#039;&#039;&#039;&lt;br /&gt;
# Koja je podrazumevana sekcija, ako se ne navede nijedna druga? - &#039;&#039;&#039;Privatna (private).&#039;&#039;&#039;&lt;br /&gt;
# Da li atribut klase može biti tipa iste te klase, a šta važi ako je referenca ili pokazivač na taj tip? - &#039;&#039;&#039;Atributi ne mogu da budu tipa klase koja se definiše, ali mogu da budu pokazivači ili reference na tu klasu.&#039;&#039;&#039;&lt;br /&gt;
# Da li rezultati i parametri metoda mogu biti tipa iste te klase, a šta važi ako je referenca ili pokazivač na taj tip? - &#039;&#039;&#039;Vrednost rezultata, kao i parametri mogu da budu tipa klase čiji su članovi kao i tipa pokazivača ili reference na tu klasu.&#039;&#039;&#039;&lt;br /&gt;
# Na koji način možemo baratati sa objektima neke klase ukoliko imamo njenu deklaraciju, a ne i definiciju? - &#039;&#039;&#039;Pre definicije klase, a posle deklaracije mogu da se definišu pokazivači i reference na tu klasu, a ne mogu da se definišu objekti te klase.&#039;&#039;&#039;&lt;br /&gt;
# Koji operatori su ugrađeni, podrazumevani? - &#039;&#039;&#039;= &amp;amp; * . -&amp;gt; []&#039;&#039;&#039;&lt;br /&gt;
# Kog je tipa pokazivač &amp;lt;code&amp;gt;this&amp;lt;/code&amp;gt;? - &#039;&#039;&#039;Tip ovog pokazivača je &amp;quot;konstantni pokazivač na klasu čiji je metod član&amp;quot;.&#039;&#039;&#039;&lt;br /&gt;
# Da li je dozvoljeno u metodi imati parametar istog imena kao i neki atribut te klase? - &#039;&#039;&#039;Da.&#039;&#039;&#039;&lt;br /&gt;
# Šta su metodi inspektori, a šta mutatori? - &#039;&#039;&#039;Metod koji ne menja stanje objekta je inspektor, a metod koji može i da menja stanje objekta je mutator.&#039;&#039;&#039;&lt;br /&gt;
# Kog je tipa pokazivač &amp;lt;code&amp;gt;this&amp;lt;/code&amp;gt; u inspektor metodama? - &#039;&#039;&#039;const X*const&#039;&#039;&#039;&lt;br /&gt;
# U koju svrhu se koristi modifikator &amp;lt;code&amp;gt;volatile&amp;lt;/code&amp;gt;? - &#039;&#039;&#039;Kao napomena prevodiocu da ne vrši neke optimizacije jer objekat može da promeni stanje nezavisno od toka funkcije.&#039;&#039;&#039;&lt;br /&gt;
# Da li je dovoljno da se dva metoda razliku samo u modifikatorima? - &#039;&#039;&#039;Da.&#039;&#039;&#039;&lt;br /&gt;
# Koji sve modifikatori postoje? - &#039;&#039;&#039;const, volatile, &amp;amp;, &amp;amp;&amp;amp;&#039;&#039;&#039;&lt;br /&gt;
# Koji je tip rezultata konstruktora? - &#039;&#039;&#039;Konstruktor nema tip rezultata (ni void).&#039;&#039;&#039;&lt;br /&gt;
# Da li konstruktor može imati parametar tipa te klase? - &#039;&#039;&#039;Ne može ako je jedini parametar.&#039;&#039;&#039;&lt;br /&gt;
# Kada se briše podrazumevani ugrađeni konstruktor? - &#039;&#039;&#039;Definisanjem nekog novog konstruktora se suspenduje ugrađeni.&#039;&#039;&#039;&lt;br /&gt;
# Da li je moguće kreirati niz objekata neke klase ukoliko ta klasa nema podrazumevani konstruktor? - &#039;&#039;&#039;Ne, jer se podrazumevani konstruktor poziva za svaki element niza.&#039;&#039;&#039;&lt;br /&gt;
# Da li je dozvoljeno ostaviti prazne zagrade pri definiciji automatskog objekta? - &#039;&#039;&#039;Nisu dozvoljene prazne zagrade () jer bi to bi se prevelo kao deklaracija.&#039;&#039;&#039;&lt;br /&gt;
# Koja je svrha &amp;lt;code&amp;gt;explicit&amp;lt;/code&amp;gt; reči kod konstruktora? - &#039;&#039;&#039;Sprečavanje implicitne konverzije.&#039;&#039;&#039;&lt;br /&gt;
# Kojim redosledom se izvršava incijalizacija atributa klase? - &#039;&#039;&#039;Redosledom navođenja u klasi.&#039;&#039;&#039;&lt;br /&gt;
# Da li atribut može da ima inicijalizator i u telu klase i u definiciji konstruktora? - &#039;&#039;&#039;Može. Ako atribut ima inicijalizator u telu klase i u definiciji konstruktora, primenjuje se inicijalizator iz definicije konstruktora.&#039;&#039;&#039;&lt;br /&gt;
# Kada je inicijalizacija atributa neophodna? - &#039;&#039;&#039;Inicijalizacija je neophodna: kada ne postoji podrazumevani konstruktor klase atributa, kada je atribut nepromenljiv podatak i kada je atribut referenca.&#039;&#039;&#039;&lt;br /&gt;
# Šta sme da postoji u listi incijalizatora kod delegirajućeg konstruktora? - &#039;&#039;&#039;Poziv drugog (ciljnog) konstruktora iste klase.&#039;&#039;&#039;&lt;br /&gt;
# Da li je prevodilac otkriva rekurzivno delegiranje (da se konstruktori ciklično pozivaju)? - &#039;&#039;&#039;Ne mora da je otkrije i tada se ulazi u beskonačnu rekurziju.&#039;&#039;&#039;&lt;br /&gt;
# Kako se implicitno briše kopirajući, a kako premeštajući konstruktor? - &#039;&#039;&#039;Kopirajući konstruktor implicitno se suspenduje pisanjem premeštajućeg konstruktora ili premeštajućeg operatora dodele. Ugrađeni premeštajući konstruktor se suspenduje ako se eksplicitno definiše: premeštajući konstruktor, kopirajući konstruktor, destruktor ili operator dodele.&#039;&#039;&#039;&lt;br /&gt;
# Kog tipa može biti parametar konstruktora kopije i da li može imati još parametara sa podrazumevanim vrednostima? - &#039;&#039;&#039;Konstruktor kopije ima parametar tipa XX&amp;amp; ili const XX&amp;amp;. Ostali  parametri kopirajućeg konstruktora moraju da imaju podrazumevane vrednosti.&#039;&#039;&#039;&lt;br /&gt;
# Zašto se mora eksplicitno pisati premeštajući konstruktor ukoliko nam je potreban, tj. zašto nam nije dovoljan ugrađeni? - &#039;&#039;&#039;Zato što ugrađeni premeštajući konstruktor pravi plitku kopiju originala.&#039;&#039;&#039;&lt;br /&gt;
# Kog tipa može biti parametar konstruktora premeštanja i da li može imati još parametara sa podrazumevanim vrednostima? - &#039;&#039;&#039;Parametar premeštajućeg konst. je referenca na dvrednost: XX&amp;amp;&amp;amp;. Ostali parametri moraju da imaju podrazumevane vrednosti.&#039;&#039;&#039;&lt;br /&gt;
# Koji konstruktor se može pozvati ukoliko premeštajući ne postoji? - &#039;&#039;&#039;Ako u klasi ne postoji premeštajući, poziva se kopirajući konstruktor.&#039;&#039;&#039;&lt;br /&gt;
# Kog tipa rezultata je destruktor? - &#039;&#039;&#039;Nema tip rezultata.&#039;&#039;&#039;&lt;br /&gt;
# Da li destruktor može imati parametre i da li oni mogu imati podrazumevane vrednosti? - &#039;&#039;&#039;Ne može da ima parametre.&#039;&#039;&#039;&lt;br /&gt;
# Da li se destruktor može eksplicitno pozvati? - &#039;&#039;&#039;Može, npr. x.~X().&#039;&#039;&#039;&lt;br /&gt;
# Da li se statički atribut može i definisati u klasi, i koji slučaj je izuzetak? - &#039;&#039;&#039;U klasi se statički atribut samo deklariše, a definiše se na globalnom nivou. Izuzetak je imenovana celobrojna konstanta koja može da se definiše i u definiciji klase.&#039;&#039;&#039;&lt;br /&gt;
# Čime se inicijalizuje statički atribut ako se ne navede inicijalizator u definiciji? - &#039;&#039;&#039;Nulom.&#039;&#039;&#039;&lt;br /&gt;
# Da li se telo statičke metode može nalaziti u definiciji klase? - &#039;&#039;&#039;Može.&#039;&#039;&#039;&lt;br /&gt;
# Da li statičke metode mogu imati modifikatore? - &#039;&#039;&#039;Da.&#039;&#039;&#039;&lt;br /&gt;
# Šta se dešava ako preko konkretnog objekta pozovemo statički metod? - &#039;&#039;&#039;Klasa pokazanog objekta kao levog operanda se određuje statički.&#039;&#039;&#039;&lt;br /&gt;
# Da li je moguće pozvati statički metod ako nije kreiran nijedan objekat te klase? - &#039;&#039;&#039;Da.&#039;&#039;&#039;&lt;br /&gt;
# Koje osobine ima prijateljstvo među klasama? - &#039;&#039;&#039;Prijatelji klase mogu da pristupaju njenim privatnim članovima. Prijateljstvo je relacija koja reguliše isključivo pravo pristupa, a ne oblast važenja i vidljivost identifikatora. Prijateljstvo se ne nasleđuje, nije simetrična relacija i nije tranzitivna relacija&#039;&#039;&#039;&lt;br /&gt;
# Da li je moguće definisati prijateljsku metodu unutar definicije klase, da li se tad podrazumeva &amp;lt;code&amp;gt;inline&amp;lt;/code&amp;gt;? - &#039;&#039;&#039;Ako se u definiciji klase navodi definicija prijateljske funkcije podrazumeva se inline.&#039;&#039;&#039;&lt;br /&gt;
# Da li je bitno gde se oznaka prijateljstva nalazi, tj. u kojoj sekciji klase? - &#039;&#039;&#039;Nije.&#039;&#039;&#039;&lt;br /&gt;
# Da li prijateljska funkcija ima pokazivač &amp;lt;code&amp;gt;this&amp;lt;/code&amp;gt; u sebi? - &#039;&#039;&#039;Prijateljska funkcija nema pokazivač this na objekat klase kojoj je prijatelj,&#039;&#039;&#039;&lt;br /&gt;
# Da li prijateljske globalne funkcije mogu imati modifikatore, npr. &amp;lt;code&amp;gt;const&amp;lt;/code&amp;gt;? - &#039;&#039;&#039;Modifikator nema smisla za globalnu prijateljsku funkciju.&#039;&#039;&#039;&lt;br /&gt;
# Da li je moguća konverzija tipa nad kojim je pozvan objekat (skrivenog argumenta) u drugi tip? - &#039;&#039;&#039;Nije moguća konverzija skrivenog argumenta u drugi tip.&#039;&#039;&#039;&lt;br /&gt;
# Da li se doseg imena okružujuće klase proteže na ugnježdenu klasu i obratno? - &#039;&#039;&#039;Ugnežđena klasa (tip) se nalazi u dosegu imena okružujuće klase. Izvan okružujuće klase imenu ugnežđene klase može da se pristupi samo preko operatora proširenja dosega imena ::&#039;&#039;&#039;&lt;br /&gt;
# Da li je se u ugnježdenoj klasi može direktno pristupiti ne-statičkim poljima okružujuće klase? - &#039;&#039;&#039;Ne.&#039;&#039;&#039;&lt;br /&gt;
# Da li postoji neka relacija prijateljstva između ugnježdene i okružujuće klase? - &#039;&#039;&#039;Ugnežđena klasa je implicitno prijatelj okružujuće klase, ali okružujuća klasa nije prijatelj ugnežđene.&#039;&#039;&#039;&lt;br /&gt;
# Koju oblast važenja imaju lokalne klase? - &#039;&#039;&#039;Od deklaracije do kraja bloka u kojem je deklarisana.&#039;&#039;&#039;&lt;br /&gt;
# Da li je u lokalnoj klasi dozvoljeno pristupiti lokalnim promenljivama, a da li statičkim lokalnim promenljivama? - &#039;&#039;&#039;Dozvoljeno je samo pristupati statičkim lokalnim promenljivama.&#039;&#039;&#039;&lt;br /&gt;
# Da li metodi lokalne klase mogu da se definišu van definicije klase? - &#039;&#039;&#039;Ne. Metodi lokalne klase moraju da se definišu unutar definicije klase.&#039;&#039;&#039;&lt;br /&gt;
# Da li lokalna klasa može da ima statičke atribute? - &#039;&#039;&#039;Ne može.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Preklapanje operatora ==&lt;br /&gt;
# Koji operatori se ne mogu preklopiti?&lt;br /&gt;
# Da li je moguće promeniti osobine operatora?&lt;br /&gt;
# Kako se pišu operatori ako se simbol operatora sastoji od slova (npr. &amp;lt;code&amp;gt;new&amp;lt;/code&amp;gt;)?&lt;br /&gt;
# Da li operatorske funkcije mogu imati podrazumevane vrednosti?&lt;br /&gt;
# Da li operatorske metode mogu biti statički?&lt;br /&gt;
# Da li operatorske metode mogu imati modifikatore?&lt;br /&gt;
# Da li je moguće napisati operatorsku funkciju gde nijedan parametar nije klasnog tipa?&lt;br /&gt;
# Da li je moguće u programu imati isti operator i kao metod i kao globalnu funkciju?&lt;br /&gt;
# Da li operatorski metod dozvoljava konverzije?&lt;br /&gt;
# Kako se piše operatorska funkcija ako prvi operand nije klasnog tipa?&lt;br /&gt;
# Koji operatori moraju biti ne-statički?&lt;br /&gt;
# Kada se brišu ugrađeni kopirajući i premeštajući operatori dodele?&lt;br /&gt;
# Kako se razlikuje postfiksna i prefiksna varijanta prilikom pisanja inkrementirajućeg i dekrementirajućeg operatora?&lt;br /&gt;
# Šta su funkcijska klasa i funkcijski objekat?&lt;br /&gt;
# Kako se preklapa operator &amp;lt;code&amp;gt;-&amp;gt;&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Kog tipa treba da bude povratna vrednost operatora &amp;lt;code&amp;gt;-&amp;gt;&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Kog tipa može da bude povratna vrednost kast operatora?&lt;br /&gt;
# Kako se piše kast operator, šta se mora izostaviti u deklaraciji i definiciji?&lt;br /&gt;
# Na koja dva načina se može pozvati kast operator i koje ograničenje važi za jedan od načina?&lt;br /&gt;
# Koja je uloga modifikatora &amp;lt;code&amp;gt;explicit&amp;lt;/code&amp;gt; kod kast operatora?&lt;br /&gt;
# Kako se preklapaju operatori &amp;lt;code&amp;gt;new&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Da li funkcije za operatore &amp;lt;code&amp;gt;new&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt; treba da pozivaju konstruktore/destruktore?&lt;br /&gt;
# Koju povratnu vrednost treba da ima operator &amp;lt;code&amp;gt;new&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Da li klasa može imati više preklopljenjih operatora &amp;lt;code&amp;gt;new&amp;lt;/code&amp;gt; i kako se to postiže?&lt;br /&gt;
# Koliko preklopljenjih operatora &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt; funkcija može da ima?&lt;br /&gt;
# Kako se unutar preklopljenjih operatora &amp;lt;code&amp;gt;new&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt; pozivaju ugrađeni operatori &amp;lt;code&amp;gt;new&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Da li operatori &amp;lt;code&amp;gt;new&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt; mogu biti virtuelni?&lt;br /&gt;
# Da li se operatori &amp;lt;code&amp;gt;new&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt; nasleđuju?&lt;br /&gt;
# Šta trebaju da vraćaju operatorske funkcije &amp;lt;code&amp;gt;&amp;amp;lt;&amp;amp;lt;&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;&amp;amp;gt;&amp;amp;gt;&amp;lt;/code&amp;gt; kada se realizuje unos/ispis?&lt;br /&gt;
# Da li operatorske funkcije za unos/ispis mogu biti metode?&lt;br /&gt;
# Koji operatori se mogu napisati za nabrajajuće tipove?&lt;br /&gt;
&lt;br /&gt;
== Izvođenje ==&lt;br /&gt;
# Šta je višestruko izvođenje, da li je to i izvođenje iz već izvedene klase?&lt;br /&gt;
# Šta označava modifikator &amp;lt;code&amp;gt;final&amp;lt;/code&amp;gt; kod klasa, a šta kod metoda?&lt;br /&gt;
# Da li se može reč &amp;lt;code&amp;gt;final&amp;lt;/code&amp;gt; pojaviti i kao identifikator?&lt;br /&gt;
# Šta izvedena klasa ne nasleđuje iz osnovne?&lt;br /&gt;
# U kojim slučajevima se može pristupiti zaštićenim članovima iz metoda izvedene klase?&lt;br /&gt;
# Kako se može eksplicitno promeniti pravo pristupa nasleđenom članu, i da li se može promeniti pravo pristupa članu koji je u osnovnoj klasi privatan?&lt;br /&gt;
# Koja je razlika između javnog, privatnog i zaštićenog izvođenja, u kojim slučajevima objekat izvedene klase može da zameni objekat osnovne klase?&lt;br /&gt;
# Šta se dešava ukoliko u izvedenoj klasi napiše metod koji ima isto ime kao metod iz osnovne klase?&lt;br /&gt;
# Na koji način se može pristupiti sakrivenom polju osnovne klase?&lt;br /&gt;
# Kako se prilikom zaštićenog i privatnog izvođenja restaurira vidljivost svih metoda nekog imena, a kako samo pojedinačnog?&lt;br /&gt;
# Da li se konstruktori nasleđuju prilikom izvođenja?&lt;br /&gt;
# Šta se dešava kad se uvezu konstruktori?&lt;br /&gt;
# Koje izvođenje je podrazumevano?&lt;br /&gt;
# Da li se može izvesti iz unije i da li unije mogu izvoditi?&lt;br /&gt;
# Da li konstruktor može inicijalizovati nasleđene atribute?&lt;br /&gt;
# Da li je objekat izvedene klase uvek i objekat osnovne klase?&lt;br /&gt;
# Da li se virtuelnost funkcije nasleđuje, tj. da li se u izvedenim klasama mora navesti da je funkcija virtuelna?&lt;br /&gt;
# U kojim stvarima se potpis metode u izvedenoj klasi sme razlikovati od potpisa virtuelne metode u osnovnoj klasi, šta se dešava ako se razlikuje više?&lt;br /&gt;
# Da li se svaki virtuelni metod mora definisati u svakoj izvedenoj klasi i šta se dešava ako neki nije napisan?&lt;br /&gt;
# Kada se aktivira virtuelni mehanizam, tj. kako se objektu mora pristupiti?&lt;br /&gt;
# Koja je svrha modifikatora &amp;lt;code&amp;gt;override&amp;lt;/code&amp;gt;, da li je to rezervisana reč?&lt;br /&gt;
# Da li se i &amp;lt;code&amp;gt;override&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;final&amp;lt;/code&amp;gt; mogu zajedno naći u potpisu metoda?&lt;br /&gt;
# Šta dodatno sadrži svaki objekat polimorfne klase?&lt;br /&gt;
# Da li statičke metode i globalne prijateljske funkcije mogu biti polimorfne, ako ne mogu kako se onda postiže polimorfno ponašanje kod njih?&lt;br /&gt;
# Da li konstruktori i destruktori mogu biti virtuelni i zašto?&lt;br /&gt;
# Da li izvedena klasa treba eksplicitno pozvati destruktor osnovne klase?&lt;br /&gt;
# Da li je niz objekata izvedene klase jedna vrsta niza objekata osnovne klase, da li se mogu bezbedno konvertovati, da li postoji slučaj kad može doći do greške i da li prevodilac to može otkriti?&lt;br /&gt;
# Da li je dozvoljena konverzija niza pokazivača na objekte izvedene klase u niz pokazivača na objekte osnovne klase?&lt;br /&gt;
# Kada je klasa virtuelna, a kada apstraktna?&lt;br /&gt;
# Da li je moguće imati primere apstraktne klase, a šta važi za pokazivače i reference takve klase?&lt;br /&gt;
# Kako je moguće sprečiti stvaranje objekata klase čije su svi metode konkretne i ne-apstraktne?&lt;br /&gt;
# Da li klasa može da ima apstraktni destruktor bez definicije?&lt;br /&gt;
# Da li klasa izvedena iz apstraktne klase mora da definiše sve apstraktne metode i šta se dešava ukoliko ih ne definiše?&lt;br /&gt;
# Da li apstraktna klasa može da ima konstruktor i kako on radi?&lt;br /&gt;
# Kakva mora da bude klasa pokazivača/reference koja se šalje kao parametar operatoru &amp;lt;code&amp;gt;dynamic_cast&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Šta se dešava ukoliko pokazivač/referenca prosleđeni operatoru &amp;lt;code&amp;gt;dynamic_cast&amp;lt;/code&amp;gt; ipak ne upućuju na objekat izvedene klase (ili klase još izvedenije iz nje) u koju se vrši konverzija?&lt;br /&gt;
# Da li operator &amp;lt;code&amp;gt;typeid&amp;lt;/code&amp;gt; izračunava izraz?&lt;br /&gt;
# Šta vraća operator &amp;lt;code&amp;gt;typeid&amp;lt;/code&amp;gt; kad je upotrebljen nad objektom polimorfne klase (u obliku reference ili dereferenciranog pokazivača), a šta nad objektom ne-polimorfne klase?&lt;br /&gt;
# Šta se dešava ukoliko se u izrazu prosleđenom &amp;lt;code&amp;gt;typeid&amp;lt;/code&amp;gt; operatoru dereferencira &amp;lt;code&amp;gt;nullptr&amp;lt;/code&amp;gt; pokazivač?&lt;br /&gt;
# Koji koncept uvodi operator &amp;lt;code&amp;gt;typeid&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Koji tip objekta vraća operator &amp;lt;code&amp;gt;typeid&amp;lt;/code&amp;gt; i da li je moguće sačuvati njegov rezultat u promenljivu i zašto?&lt;br /&gt;
# Šta je problem dijamant strukture i kako se rešava?&lt;br /&gt;
# Kojim redosledom se izvršava konstrukcija pri višestrukom nasleđivanju?&lt;br /&gt;
&lt;br /&gt;
== Izuzeci ==&lt;br /&gt;
# Kog tipa može biti bačeni izuzetak?&lt;br /&gt;
# Da li operator &amp;lt;code&amp;gt;noexcept&amp;lt;/code&amp;gt; izračunava izraz i na koji način onda gleda tačnost?&lt;br /&gt;
# Kojim redosledom treba navoditi rukovaoce?&lt;br /&gt;
# Koji je životni vek bačenog objekta?&lt;br /&gt;
# Šta se dešava ukoliko je bačen lokalni objekat?&lt;br /&gt;
# Šta se dešava sa atributima klase ukoliko se desi izuzetak u konstruktoru koji propagira van konstruktora?&lt;br /&gt;
# Koja je svrha funkcijske naredbe &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Da li se u rukovaocima funkcijske naredbe &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt; mogu koristiti parametri funkcije?&lt;br /&gt;
# Šta moraju da urade rukovaoci funkcijske naredbe &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt; na kraju svog izvršavanja?&lt;br /&gt;
# Da li se treba pristupati atributima i nasleđenom podobjektu unutar rukovaoca funkcijskog &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt; bloka konstruktora?&lt;br /&gt;
# Šta se dešava na kraju rukovaoca funkcijskog &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt; bloka konstruktora?&lt;br /&gt;
# Čemu je ekvivalentan modifikator &amp;lt;code&amp;gt;noexcept&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Da li konstruktor sa funkcijskim &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt; blokom sme imati &amp;lt;code&amp;gt;noexcept&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Šta se dešava ukoliko se za neki izuzetak ne pronađe rukovalac?&lt;br /&gt;
# Šta podrazumevano radi funkcija &amp;lt;code&amp;gt;terminate()&amp;lt;/code&amp;gt; i da li je to moguće promeniti, i ukoliko je moguće šta ta alternativna funkcija mora na kraju da uradi?&lt;br /&gt;
# Šta se dešava ukoliko se u funkciji desi neočekivan izuzetak (u funkciji označenoj sa &amp;lt;code&amp;gt;noexcept&amp;lt;/code&amp;gt; ili ako izuzetak nije na listi očekivanih izuzetaka)?&lt;br /&gt;
# Šta podrazumevano radi funkcija &amp;lt;code&amp;gt;terminate()&amp;lt;/code&amp;gt; i da li je to moguće promeniti, i ukoliko je moguće šta ta alternativna funkcija mora na kraju da uradi?&lt;br /&gt;
# Da li ijedna metoda klase izvedene iz &amp;lt;code&amp;gt;std::exception&amp;lt;/code&amp;gt; sme da baci izuzetak i zašto?&lt;br /&gt;
&lt;br /&gt;
== Šabloni ==&lt;br /&gt;
# Da li je mehanizam generika statički ili dinamički?&lt;br /&gt;
# Da li ima smisla odvojeno prevođenje šablona, tj. pisanje istih u &amp;lt;code&amp;gt;.cpp&amp;lt;/code&amp;gt; datotekama i koja je mana toga?&lt;br /&gt;
# Šta mogu biti formalni parametri šablona?&lt;br /&gt;
# Kako se na zahtev generišu konkretne funkcije i klase iz šablona?&lt;br /&gt;
# Da li se implicitno mogu generisati konkretne funkcije i klase iz šablona i pod kojim uslovima?&lt;br /&gt;
# Kada je neophodno eksplicitno navesti stvarne argumente šablona funkcije?&lt;br /&gt;
# Kada će biti sprečeno automatsko generisanje funkcije iz šablona, a kako se može forsirati generisanje funkcije iz šablona?&lt;br /&gt;
# Da li se pri generisanju klase iz šablona generišu i sve njene virtuelne metode?&lt;br /&gt;
# Da li se može imenovati klasa pri generisanju iz šablona?&lt;br /&gt;
# Da li argumenti šablona mogu da imaju podrazumevane vrednosti i šta se dešava pri implicitnom zaključivanju kod šablonskih funkcija?&lt;br /&gt;
# Da li se podrazumevane vrednosti argumenata moraju navesti i prilikom definicije svakog metoda šablonske klase ili je dovoljno samo jednom prilikom definicije/deklaracije klase?&lt;br /&gt;
# Ako je formalni parametar šablona konstanta, kog tipa mora da bude?&lt;br /&gt;
# Iz kog razloga su samo konstantne dozvoljene kao parametri šablona, a ne i promenljive?&lt;br /&gt;
# Da li raniji formalni parametri se mogu koristiti za podrazumevane/početne vrednosti kasnijih parametara šablona?&lt;br /&gt;
# Da li funkcije mogu biti parametri šablona i ako ne šta se u tom slučaju radi?&lt;br /&gt;
# Kakvi su konstruktori inicijalizatorske liste?&lt;br /&gt;
# Koje javne metode imaju inicijalizatorske liste?&lt;br /&gt;
# Kako pišemo konstruktor klase ako želimo da objekat inicijalizujemo inicijalizatorskom listom proizvoljne dužine?&lt;br /&gt;
# Da li se argumenti konstruktora mogu navesti pomoću incijalizatorske liste i koja razlika postoji između tog načina i poziva konstruktora čiji je parametar inicijalizatorska lista?&lt;br /&gt;
# U kom slučaju se neće pozvati konstruktor koji prima inicijalizatorsku listu, a objekat se inicijalizuje inicijalizatorskom listom?&lt;br /&gt;
# Da li parametri šablona prilikom specijalizacije mogu imati podrazumevane vrednosti?&lt;br /&gt;
# Koja ograničenja važe za specijalizaciju šablona funkcije?&lt;br /&gt;
# Kada je specijalizacija moguća, a kada prestaje biti moguća?&lt;br /&gt;
# Šta se dešava ukoliko imamo više podjednako specijalizovanih šablona, kako se odlučuje koji šablon je najspecijalizovaniji?&lt;br /&gt;
# Da li metode klase mogu biti generičke, da li takve metode mogu biti virtuelne i da li mogu biti definisane i van klase?&lt;br /&gt;
# Da li konstruktori i destruktori mogu da budu generički (bez obzira na to da li je klasa generička)?&lt;br /&gt;
# Kako se pozivaju generički metodi, a kako generički konstruktori?&lt;br /&gt;
# Da li ugnježdene klase mogu da budu generičke i kakva mora da bude spoljašnja klasa?&lt;br /&gt;
&lt;br /&gt;
[[Категорија:ОО1]]&lt;/div&gt;</summary>
		<author><name>Milos</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9E%D0%9E1/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=6923</id>
		<title>ОО1/Питања</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9E%D0%9E1/%D0%9F%D0%B8%D1%82%D0%B0%D1%9A%D0%B0&amp;diff=6923"/>
		<updated>2023-11-23T04:52:22Z</updated>

		<summary type="html">&lt;p&gt;Milos: /* Uvod */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
{{nerešeno}}&lt;br /&gt;
Ispod su sakupljena razna pitanja sa prezentacija iz predmeta, zasad bez rešenja. Namenjena su za obnavljanje gradiva pred kolokvijum, kako bi studenti mogli da testiraju svoje znanje odgovaranjem na njih.&lt;br /&gt;
&lt;br /&gt;
== Uvod ==&lt;br /&gt;
# Prilikom izvođenja, da li se stari programski kod mora menjati, opet prevoditi i opet testirati? - &#039;&#039;&#039;Ne.&#039;&#039;&#039;&lt;br /&gt;
# Šta je apstrakcija? - &#039;&#039;&#039;Prepoznavanje bitnih svojstava skupova sličnih objekata i predstavljanje zajedničkom klasom.&#039;&#039;&#039;&lt;br /&gt;
# Koja su 3 značajna napretka u evoluciji programskih jezika? - &#039;&#039;&#039;Apstrakcija izraza (FORTRAN), apstrakcija kontrole (Algol60) i apstrakcija podataka (Pascal).&#039;&#039;&#039;&lt;br /&gt;
# Od koja dva dela se svaka klasa sastoji? - &#039;&#039;&#039;Ugovor (interfejs) i implementacija.&#039;&#039;&#039;&lt;br /&gt;
# Šta su objekti (i u užem i u širem smislu)? - &#039;&#039;&#039;Objekti su primerci odgovarajućih klasa.&#039;&#039;&#039;&lt;br /&gt;
# Da li je polimorfizam statički ili dinamički mehanizam? - &#039;&#039;&#039;Dinamički.&#039;&#039;&#039;&lt;br /&gt;
# Šta je polimorfizam? - &#039;&#039;&#039;Ponašanje objekta ne zavisi samo od tipa pokazivača (upućivača) koji pokazuje na objekat već od tipa pokazivanog (upućivanog) objekta koji je poznat u vreme izvršenja.&#039;&#039;&#039;&lt;br /&gt;
# Šta su objektno-bazirani jezici, a šta objektno-orijentisani? - &#039;&#039;&#039;Objektno-zasnovani jezici podržavaju: apstrakciju, kapsulaciju i modularnost. Objektno-orijentisani jezici dodatno podržavaju princip nasleđivanja.&#039;&#039;&#039;&lt;br /&gt;
# Da li je mehanizam obrade izuzetaka svojstven samo za objektno-orijentisane jezike? - &#039;&#039;&#039;Ne.&#039;&#039;&#039;&lt;br /&gt;
# Da li je mehanizam preklapanja operatora svojstven samo za objektno-orijentisane jezike? - &#039;&#039;&#039;Ne.&#039;&#039;&#039;&lt;br /&gt;
# Da li se mogu preklopiti svi operatori? - &#039;&#039;&#039;Ne.&#039;&#039;&#039;&lt;br /&gt;
# Da li je generički mehanizam statički ili dinamički? - &#039;&#039;&#039;Statički.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Proširenja C ==&lt;br /&gt;
# Šta je deklaracija, a šta definicija?&lt;br /&gt;
# Koliko puta se smeju ponoviti deklaracije i definicije jednog istog objekta/funkcije/tipa?&lt;br /&gt;
# Kakva može promenljiva da bude (i po veku trajanja i po mestu gde se nalazi)?&lt;br /&gt;
# Šta je l-vrednost, a šta d-vrednost?&lt;br /&gt;
# Da li uvek sa leve strane znaka &amp;lt;code&amp;gt;=&amp;lt;/code&amp;gt; može da stoji l-vrednost?&lt;br /&gt;
# Koji operatori zahtevaju da im operandi budu l-vrednosti?&lt;br /&gt;
# Koji operatori bi trebalo da vrate l-vrednost?&lt;br /&gt;
# Koju oblast važenja imaju i koliko traju: lokalna imena, globalna imena, statički objekti, dinamički objekti, automatski objekti, privremeni objekti?&lt;br /&gt;
# Da li je moguće na neki način pristupiti globalnom imenu ukoliko je ono sakriveno od strane lokalnog imena, a lokalnom imenu u spoljašnjem bloku ukoliko je ono sakriveno od strane lokalnog imena u unutrašnjem bloku?&lt;br /&gt;
# Da li se u uslovu &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; može definisati neka promenljiva i ako da kakva mora da bude i koliko ona traje?&lt;br /&gt;
# Da li je unutar funkcije moguće imati promenljivu istog imena kao neki od parametara i ako ne koji je razlog?&lt;br /&gt;
# Koju oblast važenja imaju članovi strukture/klase?&lt;br /&gt;
# Na koje sve načine se može pristupiti imenima članovima klase, van te klase?&lt;br /&gt;
# Koju oblast važenja imaju labele?&lt;br /&gt;
# Da li je moguće sa &amp;lt;code&amp;gt;goto&amp;lt;/code&amp;gt; naredbom preskočiti definiciju neke promenljive i skočiti na labelu koja se nalazi nakon nje?&lt;br /&gt;
# Kada se kreiraju statički objekti?&lt;br /&gt;
# Da li je C++ strogo ili labavo tipiziran jezik?&lt;br /&gt;
# Koja je razlika između 4 kast operatora i kad se koji koristi?&lt;br /&gt;
# Na koja dva načina možemo implementirati kastovanje (navesti mane ukoliko ih ima neki način)?&lt;br /&gt;
# Šta radi operator &amp;lt;code&amp;gt;decltype&amp;lt;/code&amp;gt;, da li računa izraz?&lt;br /&gt;
# Koja je bitna razlika između &amp;lt;code&amp;gt;decltype&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;auto&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Da li se &amp;lt;code&amp;gt;auto&amp;lt;/code&amp;gt; može koristiti sa povratnom vrednosti funkcije i u kojim slučajevima?&lt;br /&gt;
# Kog je tipa string literal u C++ (&amp;quot;abcd&amp;quot;)?&lt;br /&gt;
# Kakvu razliku pravi pozicija gde se nalazi reč &amp;lt;code&amp;gt;const&amp;lt;/code&amp;gt; u definiciji pokazivača?&lt;br /&gt;
# Na koje načine je moguće pristupiti imenu iz nekog prostora imena?&lt;br /&gt;
# Da li je validno imati objekat istog imena kao i neki tip?&lt;br /&gt;
# Da li je moguće imati isto ime (identifikator) za dve različite stvari u jednom prostoru imena, tj. da ime nije jednoznačno?&lt;br /&gt;
# Koji operatori su definisani za tipove nabrajanja (&amp;lt;code&amp;gt;enum&amp;lt;/code&amp;gt;)?&lt;br /&gt;
# Koje konverzije postoje za tipove nabrajanja?&lt;br /&gt;
# Da li je moguće definisati koji tip koristi &amp;quot;under-the-hood&amp;quot; tip nabrajanja, da se ne koristi uvek &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;, i kako?&lt;br /&gt;
# Koja je razlika između običnog tipa nabrajanja i tipa nabrajanja sa ograničenim dosegom (&amp;lt;code&amp;gt;enum class&amp;lt;/code&amp;gt;)?&lt;br /&gt;
# Kako se koristi incijalizatorska lista prilikom kreiranja unije?&lt;br /&gt;
# Šta se dešava ukoliko inicijalizatorska lista sadrži više vrednosti nego što ima podataka ta struktura?&lt;br /&gt;
# Da li se inicijalizatorske liste mogu koristiti pri dodeli vrednosti?&lt;br /&gt;
# Kako se pristupa poljima bezimene unije/strukture?&lt;br /&gt;
# Da li je unija/struktura bezimena ako nema ime a ipak kreiramo bar jedan objekat ili pokazivač tog tipa?&lt;br /&gt;
# Na koji način radi &amp;lt;code&amp;gt;mutable&amp;lt;/code&amp;gt; polje?&lt;br /&gt;
# Šta se dešava ukoliko operator &amp;lt;code&amp;gt;new&amp;lt;/code&amp;gt; ne uspe da alocira memoriju jer nema dovoljno prostora?&lt;br /&gt;
# Šta se dešava ukoliko pokušamo da obrišemo &amp;lt;code&amp;gt;nullptr&amp;lt;/code&amp;gt; sa &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt; operatorom?&lt;br /&gt;
# Šta vraća operator &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Ukoliko dinamički alociramo matricu (više-dimenzioni niz, a ne niz nizova (&amp;lt;code&amp;gt;new Tacka[10][10]&amp;lt;/code&amp;gt;)) da li dimenzije mogu biti promenljivi izrazi ili moraju biti konstante?&lt;br /&gt;
# Da li je moguće napraviti niz referenci, pokazivač na referencu, referencu na pokazivač ili referencu na referencu?&lt;br /&gt;
# Da li &amp;quot;moderna&amp;quot; verzija for-petlje (&amp;lt;code&amp;gt;for(tip prom: niz) naredba&amp;lt;/code&amp;gt;) u svakom ciklusu petlje sadrži referencu ili kopiju tekućeg elementa niza, tj. da li promena objekta &amp;lt;code&amp;gt;prom&amp;lt;/code&amp;gt; utiče na niz?&lt;br /&gt;
# Da li je referenca na d-vrednost takođe d-vrednost ili je l-vrednost?&lt;br /&gt;
# Da li referenca na d-vrednost može upućivati na konstantnu/nepromenljivu d-vrednost?&lt;br /&gt;
# Da li parametri funkcije mogu biti tipa reference na d-vrednost?&lt;br /&gt;
# Da li je dozvoljeno inicijalizovati referencu na d-vrednost pomoću l-vrednosti?&lt;br /&gt;
# Gde treba da se nalazi deklaracija funkcije koja se neposredno ugrađuje (&amp;lt;code&amp;gt;inline&amp;lt;/code&amp;gt; funkcije)?&lt;br /&gt;
# Kada se računaju podrazumevane vrednosti argumenata?&lt;br /&gt;
# Da li je mehanizam preklapanja imena funkcije statički ili dinamički?&lt;br /&gt;
# Da li je dovoljno da se samo tipovi rezultata razlikuju da bi postojale dve funkcije istog imena?&lt;br /&gt;
# Da li rezultat ternarnog operatora može biti l-vrednost?&lt;br /&gt;
# Da li su reinterpretirajuća i konstantna konverzija bezbedne?&lt;br /&gt;
&lt;br /&gt;
== Klase i objekti ==&lt;br /&gt;
# Kako se formalnije nazivaju podaci i funkcije koji su deo klase?&lt;br /&gt;
# Kako se naziva objekat koji poziva neki metod, a kako onaj čiji je metod pozvan?&lt;br /&gt;
# Da li može biti više sekcija vidljivosti iste vrste?&lt;br /&gt;
# Koja je podrazumevana sekcija, ako se ne navede nijedna druga?&lt;br /&gt;
# Da li atribut klase može biti tipa iste te klase, a šta važi ako je referenca ili pokazivač na taj tip?&lt;br /&gt;
# Da li rezultati i parametri metoda mogu biti tipa iste te klase, a šta važi ako je referenca ili pokazivač na taj tip?&lt;br /&gt;
# Na koji način možemo baratati sa objektima neke klase ukoliko imamo njenu deklaraciju, a ne i definiciju?&lt;br /&gt;
# Koji operatori su ugrađeni, podrazumevani?&lt;br /&gt;
# Kog je tipa pokazivač &amp;lt;code&amp;gt;this&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Da li je dozvoljeno u metodi imati parametar istog imena kao i neki atribut te klase?&lt;br /&gt;
# Šta su metodi inspektori, a šta mutatori?&lt;br /&gt;
# Kog je tipa pokazivač &amp;lt;code&amp;gt;this&amp;lt;/code&amp;gt; u inspektor metodama?&lt;br /&gt;
# U koju svrhu se koristi modifikator &amp;lt;code&amp;gt;volatile&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Da li je dovoljno da se dva metoda razliku samo u modifikatorima?&lt;br /&gt;
# Koji sve modifikatori postoje?&lt;br /&gt;
# Koji je tip rezultata konstruktora?&lt;br /&gt;
# Da li konstruktor može imati parametar tipa te klase?&lt;br /&gt;
# Kada se briše podrazumevani ugrađeni konstruktor?&lt;br /&gt;
# Da li je moguće kreirati niz objekata neke klase ukoliko ta klasa nema podrazumevani konstruktor?&lt;br /&gt;
# Da li je dozvoljeno ostaviti prazne zagrade pri definiciji automatskog objekta?&lt;br /&gt;
# Koja je svrha &amp;lt;code&amp;gt;explicit&amp;lt;/code&amp;gt; reči kod konstruktora?&lt;br /&gt;
# Kojim redosledom se izvršava incijalizacija atributa klase?&lt;br /&gt;
# Da li atribut može da ima inicijalizator i u telu klase i u definiciji konstruktora?&lt;br /&gt;
# Kada je inicijalizacija atributa neophodna?&lt;br /&gt;
# Šta sme da postoji u listi incijalizatora kod delegirajućeg konstruktora?&lt;br /&gt;
# Da li je prevodilac otkriva rekurzivno delegiranje (da se konstruktori ciklično pozivaju)?&lt;br /&gt;
# Kako se implicitno briše kopirajući, a kako pomerajući konstruktor?&lt;br /&gt;
# Kog tipa može biti parametar konstruktora kopije i da li može imati još parametara sa podrazumevanim vrednostima?&lt;br /&gt;
# Zašto se mora eksplicitno pisati premeštajući konstruktor ukoliko nam je potreban, tj. zašto nam nije dovoljan ugrađeni?&lt;br /&gt;
# Kog tipa može biti parametar konstruktora premeštanja i da li može imati još parametara sa podrazumevanim vrednostima?&lt;br /&gt;
# Koji konstruktor se može pozvati ukoliko premeštajući ne postoji?&lt;br /&gt;
# Kog tipa rezultata je destruktor?&lt;br /&gt;
# Da li destruktor može imati parametre i da li oni mogu imati podrazumevane vrednosti?&lt;br /&gt;
# Da li se destruktor može eksplicitno pozvati?&lt;br /&gt;
# Da li se statički atribut može i definisati u klasi, i koji slučaj je izuzetak?&lt;br /&gt;
# Čime se inicijalizuje statički atribut ako se ne navede inicijalizator u definiciji?&lt;br /&gt;
# U kom slučaju se može definisati statički atribut i u definiciji klase?&lt;br /&gt;
# Da li se telo statičke metode može nalaziti u definiciji klase?&lt;br /&gt;
# Da li statičke metode mogu imati modifikatore?&lt;br /&gt;
# Šta se dešava ako preko konkretnog objekta pozovemo statički metod?&lt;br /&gt;
# Da li je moguće pozvati statički metod ako nije kreiran nijedan objekat te klase?&lt;br /&gt;
# Koje osobine ima prijateljstvo među klasama?&lt;br /&gt;
# Da li je prijatelj-metodi ili prijatelj-klasi moguće ograničiti oblast važenja i vidljivost identifikatora?&lt;br /&gt;
# Da li je moguće definisati prijateljsku metodu unutar definicije klase, da li se tad podrazumeva &amp;lt;code&amp;gt;inline&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Da li je bitno gde se oznaka prijateljstva nalazi, tj. u kojoj sekciji klase?&lt;br /&gt;
# Da li prijateljska funkcija ima pokazivač &amp;lt;code&amp;gt;this&amp;lt;/code&amp;gt; u sebi?&lt;br /&gt;
# Da li prijateljske globalne funkcije mogu imati modifikatore, npr. &amp;lt;code&amp;gt;const&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Da li je moguća konverzija tipa nad kojim je pozvan objekat (skrivenog argumenta) u drugi tip?&lt;br /&gt;
# Da li se doseg imena okružujuće klase proteže na ugnježdenu klasu i obratno?&lt;br /&gt;
# Da li je se u ugnježdenoj klasi može direktno pristupiti ne-statičkim poljima okružujuće klase?&lt;br /&gt;
# Da li postoji neka relacija prijateljstva između ugnježdene i okružujuće klase?&lt;br /&gt;
# Koju oblast važenja imaju lokalne klase?&lt;br /&gt;
# Da li je u lokalnoj klasi dozvoljeno pristupiti lokalnim promenljivama, a da li statičkim lokalnim promenljivama?&lt;br /&gt;
# Da li metodi lokalne klase mogu da se definišu van definicije klase?&lt;br /&gt;
# Da li lokalna klasa može da ima statičke atribute?&lt;br /&gt;
&lt;br /&gt;
== Preklapanje operatora ==&lt;br /&gt;
# Koji operatori se ne mogu preklopiti?&lt;br /&gt;
# Da li je moguće promeniti osobine operatora?&lt;br /&gt;
# Kako se pišu operatori ako se simbol operatora sastoji od slova (npr. &amp;lt;code&amp;gt;new&amp;lt;/code&amp;gt;)?&lt;br /&gt;
# Da li operatorske funkcije mogu imati podrazumevane vrednosti?&lt;br /&gt;
# Da li operatorske metode mogu biti statički?&lt;br /&gt;
# Da li operatorske metode mogu imati modifikatore?&lt;br /&gt;
# Da li je moguće napisati operatorsku funkciju gde nijedan parametar nije klasnog tipa?&lt;br /&gt;
# Da li je moguće u programu imati isti operator i kao metod i kao globalnu funkciju?&lt;br /&gt;
# Da li operatorski metod dozvoljava konverzije?&lt;br /&gt;
# Kako se piše operatorska funkcija ako prvi operand nije klasnog tipa?&lt;br /&gt;
# Koji operatori moraju biti ne-statički?&lt;br /&gt;
# Kada se brišu ugrađeni kopirajući i premeštajući operatori dodele?&lt;br /&gt;
# Kako se razlikuje postfiksna i prefiksna varijanta prilikom pisanja inkrementirajućeg i dekrementirajućeg operatora?&lt;br /&gt;
# Šta su funkcijska klasa i funkcijski objekat?&lt;br /&gt;
# Kako se preklapa operator &amp;lt;code&amp;gt;-&amp;gt;&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Kog tipa treba da bude povratna vrednost operatora &amp;lt;code&amp;gt;-&amp;gt;&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Kog tipa može da bude povratna vrednost kast operatora?&lt;br /&gt;
# Kako se piše kast operator, šta se mora izostaviti u deklaraciji i definiciji?&lt;br /&gt;
# Na koja dva načina se može pozvati kast operator i koje ograničenje važi za jedan od načina?&lt;br /&gt;
# Koja je uloga modifikatora &amp;lt;code&amp;gt;explicit&amp;lt;/code&amp;gt; kod kast operatora?&lt;br /&gt;
# Kako se preklapaju operatori &amp;lt;code&amp;gt;new&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Da li funkcije za operatore &amp;lt;code&amp;gt;new&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt; treba da pozivaju konstruktore/destruktore?&lt;br /&gt;
# Koju povratnu vrednost treba da ima operator &amp;lt;code&amp;gt;new&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Da li klasa može imati više preklopljenjih operatora &amp;lt;code&amp;gt;new&amp;lt;/code&amp;gt; i kako se to postiže?&lt;br /&gt;
# Koliko preklopljenjih operatora &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt; funkcija može da ima?&lt;br /&gt;
# Kako se unutar preklopljenjih operatora &amp;lt;code&amp;gt;new&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt; pozivaju ugrađeni operatori &amp;lt;code&amp;gt;new&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Da li operatori &amp;lt;code&amp;gt;new&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt; mogu biti virtuelni?&lt;br /&gt;
# Da li se operatori &amp;lt;code&amp;gt;new&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;delete&amp;lt;/code&amp;gt; nasleđuju?&lt;br /&gt;
# Šta trebaju da vraćaju operatorske funkcije &amp;lt;code&amp;gt;&amp;amp;lt;&amp;amp;lt;&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;&amp;amp;gt;&amp;amp;gt;&amp;lt;/code&amp;gt; kada se realizuje unos/ispis?&lt;br /&gt;
# Da li operatorske funkcije za unos/ispis mogu biti metode?&lt;br /&gt;
# Koji operatori se mogu napisati za nabrajajuće tipove?&lt;br /&gt;
&lt;br /&gt;
== Izvođenje ==&lt;br /&gt;
# Šta je višestruko izvođenje, da li je to i izvođenje iz već izvedene klase?&lt;br /&gt;
# Šta označava modifikator &amp;lt;code&amp;gt;final&amp;lt;/code&amp;gt; kod klasa, a šta kod metoda?&lt;br /&gt;
# Da li se može reč &amp;lt;code&amp;gt;final&amp;lt;/code&amp;gt; pojaviti i kao identifikator?&lt;br /&gt;
# Šta izvedena klasa ne nasleđuje iz osnovne?&lt;br /&gt;
# U kojim slučajevima se može pristupiti zaštićenim članovima iz metoda izvedene klase?&lt;br /&gt;
# Kako se može eksplicitno promeniti pravo pristupa nasleđenom članu, i da li se može promeniti pravo pristupa članu koji je u osnovnoj klasi privatan?&lt;br /&gt;
# Koja je razlika između javnog, privatnog i zaštićenog izvođenja, u kojim slučajevima objekat izvedene klase može da zameni objekat osnovne klase?&lt;br /&gt;
# Šta se dešava ukoliko u izvedenoj klasi napiše metod koji ima isto ime kao metod iz osnovne klase?&lt;br /&gt;
# Na koji način se može pristupiti sakrivenom polju osnovne klase?&lt;br /&gt;
# Kako se prilikom zaštićenog i privatnog izvođenja restaurira vidljivost svih metoda nekog imena, a kako samo pojedinačnog?&lt;br /&gt;
# Da li se konstruktori nasleđuju prilikom izvođenja?&lt;br /&gt;
# Šta se dešava kad se uvezu konstruktori?&lt;br /&gt;
# Koje izvođenje je podrazumevano?&lt;br /&gt;
# Da li se može izvesti iz unije i da li unije mogu izvoditi?&lt;br /&gt;
# Da li konstruktor može inicijalizovati nasleđene atribute?&lt;br /&gt;
# Da li je objekat izvedene klase uvek i objekat osnovne klase?&lt;br /&gt;
# Da li se virtuelnost funkcije nasleđuje, tj. da li se u izvedenim klasama mora navesti da je funkcija virtuelna?&lt;br /&gt;
# U kojim stvarima se potpis metode u izvedenoj klasi sme razlikovati od potpisa virtuelne metode u osnovnoj klasi, šta se dešava ako se razlikuje više?&lt;br /&gt;
# Da li se svaki virtuelni metod mora definisati u svakoj izvedenoj klasi i šta se dešava ako neki nije napisan?&lt;br /&gt;
# Kada se aktivira virtuelni mehanizam, tj. kako se objektu mora pristupiti?&lt;br /&gt;
# Koja je svrha modifikatora &amp;lt;code&amp;gt;override&amp;lt;/code&amp;gt;, da li je to rezervisana reč?&lt;br /&gt;
# Da li se i &amp;lt;code&amp;gt;override&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;final&amp;lt;/code&amp;gt; mogu zajedno naći u potpisu metoda?&lt;br /&gt;
# Šta dodatno sadrži svaki objekat polimorfne klase?&lt;br /&gt;
# Da li statičke metode i globalne prijateljske funkcije mogu biti polimorfne, ako ne mogu kako se onda postiže polimorfno ponašanje kod njih?&lt;br /&gt;
# Da li konstruktori i destruktori mogu biti virtuelni i zašto?&lt;br /&gt;
# Da li izvedena klasa treba eksplicitno pozvati destruktor osnovne klase?&lt;br /&gt;
# Da li je niz objekata izvedene klase jedna vrsta niza objekata osnovne klase, da li se mogu bezbedno konvertovati, da li postoji slučaj kad može doći do greške i da li prevodilac to može otkriti?&lt;br /&gt;
# Da li je dozvoljena konverzija niza pokazivača na objekte izvedene klase u niz pokazivača na objekte osnovne klase?&lt;br /&gt;
# Kada je klasa virtuelna, a kada apstraktna?&lt;br /&gt;
# Da li je moguće imati primere apstraktne klase, a šta važi za pokazivače i reference takve klase?&lt;br /&gt;
# Kako je moguće sprečiti stvaranje objekata klase čije su svi metode konkretne i ne-apstraktne?&lt;br /&gt;
# Da li klasa može da ima apstraktni destruktor bez definicije?&lt;br /&gt;
# Da li klasa izvedena iz apstraktne klase mora da definiše sve apstraktne metode i šta se dešava ukoliko ih ne definiše?&lt;br /&gt;
# Da li apstraktna klasa može da ima konstruktor i kako on radi?&lt;br /&gt;
# Kakva mora da bude klasa pokazivača/reference koja se šalje kao parametar operatoru &amp;lt;code&amp;gt;dynamic_cast&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Šta se dešava ukoliko pokazivač/referenca prosleđeni operatoru &amp;lt;code&amp;gt;dynamic_cast&amp;lt;/code&amp;gt; ipak ne upućuju na objekat izvedene klase (ili klase još izvedenije iz nje) u koju se vrši konverzija?&lt;br /&gt;
# Da li operator &amp;lt;code&amp;gt;typeid&amp;lt;/code&amp;gt; izračunava izraz?&lt;br /&gt;
# Šta vraća operator &amp;lt;code&amp;gt;typeid&amp;lt;/code&amp;gt; kad je upotrebljen nad objektom polimorfne klase (u obliku reference ili dereferenciranog pokazivača), a šta nad objektom ne-polimorfne klase?&lt;br /&gt;
# Šta se dešava ukoliko se u izrazu prosleđenom &amp;lt;code&amp;gt;typeid&amp;lt;/code&amp;gt; operatoru dereferencira &amp;lt;code&amp;gt;nullptr&amp;lt;/code&amp;gt; pokazivač?&lt;br /&gt;
# Koji koncept uvodi operator &amp;lt;code&amp;gt;typeid&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Koji tip objekta vraća operator &amp;lt;code&amp;gt;typeid&amp;lt;/code&amp;gt; i da li je moguće sačuvati njegov rezultat u promenljivu i zašto?&lt;br /&gt;
# Šta je problem dijamant strukture i kako se rešava?&lt;br /&gt;
# Kojim redosledom se izvršava konstrukcija pri višestrukom nasleđivanju?&lt;br /&gt;
&lt;br /&gt;
== Izuzeci ==&lt;br /&gt;
# Kog tipa može biti bačeni izuzetak?&lt;br /&gt;
# Da li operator &amp;lt;code&amp;gt;noexcept&amp;lt;/code&amp;gt; izračunava izraz i na koji način onda gleda tačnost?&lt;br /&gt;
# Kojim redosledom treba navoditi rukovaoce?&lt;br /&gt;
# Koji je životni vek bačenog objekta?&lt;br /&gt;
# Šta se dešava ukoliko je bačen lokalni objekat?&lt;br /&gt;
# Šta se dešava sa atributima klase ukoliko se desi izuzetak u konstruktoru koji propagira van konstruktora?&lt;br /&gt;
# Koja je svrha funkcijske naredbe &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Da li se u rukovaocima funkcijske naredbe &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt; mogu koristiti parametri funkcije?&lt;br /&gt;
# Šta moraju da urade rukovaoci funkcijske naredbe &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt; na kraju svog izvršavanja?&lt;br /&gt;
# Da li se treba pristupati atributima i nasleđenom podobjektu unutar rukovaoca funkcijskog &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt; bloka konstruktora?&lt;br /&gt;
# Šta se dešava na kraju rukovaoca funkcijskog &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt; bloka konstruktora?&lt;br /&gt;
# Čemu je ekvivalentan modifikator &amp;lt;code&amp;gt;noexcept&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Da li konstruktor sa funkcijskim &amp;lt;code&amp;gt;try&amp;lt;/code&amp;gt; blokom sme imati &amp;lt;code&amp;gt;noexcept&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Šta se dešava ukoliko se za neki izuzetak ne pronađe rukovalac?&lt;br /&gt;
# Šta podrazumevano radi funkcija &amp;lt;code&amp;gt;terminate()&amp;lt;/code&amp;gt; i da li je to moguće promeniti, i ukoliko je moguće šta ta alternativna funkcija mora na kraju da uradi?&lt;br /&gt;
# Šta se dešava ukoliko se u funkciji desi neočekivan izuzetak (u funkciji označenoj sa &amp;lt;code&amp;gt;noexcept&amp;lt;/code&amp;gt; ili ako izuzetak nije na listi očekivanih izuzetaka)?&lt;br /&gt;
# Šta podrazumevano radi funkcija &amp;lt;code&amp;gt;terminate()&amp;lt;/code&amp;gt; i da li je to moguće promeniti, i ukoliko je moguće šta ta alternativna funkcija mora na kraju da uradi?&lt;br /&gt;
# Da li ijedna metoda klase izvedene iz &amp;lt;code&amp;gt;std::exception&amp;lt;/code&amp;gt; sme da baci izuzetak i zašto?&lt;br /&gt;
&lt;br /&gt;
== Šabloni ==&lt;br /&gt;
# Da li je mehanizam generika statički ili dinamički?&lt;br /&gt;
# Da li ima smisla odvojeno prevođenje šablona, tj. pisanje istih u &amp;lt;code&amp;gt;.cpp&amp;lt;/code&amp;gt; datotekama i koja je mana toga?&lt;br /&gt;
# Šta mogu biti formalni parametri šablona?&lt;br /&gt;
# Kako se na zahtev generišu konkretne funkcije i klase iz šablona?&lt;br /&gt;
# Da li se implicitno mogu generisati konkretne funkcije i klase iz šablona i pod kojim uslovima?&lt;br /&gt;
# Kada je neophodno eksplicitno navesti stvarne argumente šablona funkcije?&lt;br /&gt;
# Kada će biti sprečeno automatsko generisanje funkcije iz šablona, a kako se može forsirati generisanje funkcije iz šablona?&lt;br /&gt;
# Da li se pri generisanju klase iz šablona generišu i sve njene virtuelne metode?&lt;br /&gt;
# Da li se može imenovati klasa pri generisanju iz šablona?&lt;br /&gt;
# Da li argumenti šablona mogu da imaju podrazumevane vrednosti i šta se dešava pri implicitnom zaključivanju kod šablonskih funkcija?&lt;br /&gt;
# Da li se podrazumevane vrednosti argumenata moraju navesti i prilikom definicije svakog metoda šablonske klase ili je dovoljno samo jednom prilikom definicije/deklaracije klase?&lt;br /&gt;
# Ako je formalni parametar šablona konstanta, kog tipa mora da bude?&lt;br /&gt;
# Iz kog razloga su samo konstantne dozvoljene kao parametri šablona, a ne i promenljive?&lt;br /&gt;
# Da li raniji formalni parametri se mogu koristiti za podrazumevane/početne vrednosti kasnijih parametara šablona?&lt;br /&gt;
# Da li funkcije mogu biti parametri šablona i ako ne šta se u tom slučaju radi?&lt;br /&gt;
# Kakvi su konstruktori inicijalizatorske liste?&lt;br /&gt;
# Koje javne metode imaju inicijalizatorske liste?&lt;br /&gt;
# Kako pišemo konstruktor klase ako želimo da objekat inicijalizujemo inicijalizatorskom listom proizvoljne dužine?&lt;br /&gt;
# Da li se argumenti konstruktora mogu navesti pomoću incijalizatorske liste i koja razlika postoji između tog načina i poziva konstruktora čiji je parametar inicijalizatorska lista?&lt;br /&gt;
# U kom slučaju se neće pozvati konstruktor koji prima inicijalizatorsku listu, a objekat se inicijalizuje inicijalizatorskom listom?&lt;br /&gt;
# Da li parametri šablona prilikom specijalizacije mogu imati podrazumevane vrednosti?&lt;br /&gt;
# Koja ograničenja važe za specijalizaciju šablona funkcije?&lt;br /&gt;
# Kada je specijalizacija moguća, a kada prestaje biti moguća?&lt;br /&gt;
# Šta se dešava ukoliko imamo više podjednako specijalizovanih šablona, kako se odlučuje koji šablon je najspecijalizovaniji?&lt;br /&gt;
# Da li metode klase mogu biti generičke, da li takve metode mogu biti virtuelne i da li mogu biti definisane i van klase?&lt;br /&gt;
# Da li konstruktori i destruktori mogu da budu generički (bez obzira na to da li je klasa generička)?&lt;br /&gt;
# Kako se pozivaju generički metodi, a kako generički konstruktori?&lt;br /&gt;
# Da li ugnježdene klase mogu da budu generičke i kakva mora da bude spoljašnja klasa?&lt;br /&gt;
&lt;br /&gt;
[[Категорија:ОО1]]&lt;/div&gt;</summary>
		<author><name>Milos</name></author>
	</entry>
</feed>