Basis van programmeren (pseudocode traceren)
De klasse Counter geeft elke instantie een eigen variabele count van het type integer (een lidvariabele, 0 bij het aanmaken), en haar methode inc() telt 1 op bij de eigen count. Een variabele van het type Counter bevat een verwijzing naar een instantie, niet de instantie zelf. Wat is de waarde van x nadat het volgende programma is uitgevoerd?
Counter: c1 ← new Counter()
Counter: c2 ← c1
c1.inc()
c2.inc()
c2 ← new Counter()
c2.inc()
integer: x ← c1.count × 10 + c2.count
- A11
- B21
- C33
Antwoord en toelichting tonen
Antwoord: B. 21
c2 ← c1 kopieert alleen de verwijzing, dus c1 en c2 wijzen naar dezelfde instantie. c1.inc() en c2.inc() verhogen daarom dezelfde count, en c1.count wordt 2. De volgende c2 ← new Counter() laat c2 naar een nieuwe instantie wijzen, en de daaropvolgende c2.inc() zet alleen de nieuwe count op 1. x = 2 × 10 + 1 = 21.
Verder: nog 9 vragen over Basis van programmeren (pseudocode traceren)