Grundlagen der Programmierung (Pseudocode nachverfolgen)

Die Klasse Counter gibt jeder Instanz eine eigene ganzzahlige Membervariable count (beim Erzeugen 0), und ihre Methode inc() addiert 1 zum eigenen count. Welchen Wert hat x, nachdem das folgende Programm ausgeführt wurde?

Counter: c1 ← new Counter()
Counter: c2 ← new Counter()
c1.inc()
c1.inc()
c2.inc()
c1.inc()
integer: x ← c1.count × 10 + c2.count
  1. A13
  2. B31
  3. C44
Antwort und Erläuterung anzeigen

Antwort: B. 31

In der objektorientierten Programmierung erzeugt new Counter() jedes Mal eine neue Instanz; c1 und c2 haben also jeweils ein eigenes count. c1.inc() erhöht nur das count von c1, daher gilt c1.count = 3 und c2.count = 1. x = 3 × 10 + 1 = 31. Die Werte der Membervariablen werden für jede Instanz getrennt gehalten.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Grundlagen der Programmierung (Pseudocode nachverfolgen)

  1. Die Klasse Counter gibt jeder Instanz eine eigene ganzzahlige Membervariable count (beim Erzeugen 0), und ihre Methode inc() addiert 1 zum eigenen count. Eine Variable vom Typ Counter enthält eine Referenz auf eine Instanz, nicht die Instanz selbst. Welchen Wert hat x, nachdem das folgende Programm ausgeführt wurde?
  2. Mit den beiden Zuweisungen im folgenden Programm sollten die Werte von x und y vertauscht werden. Welche Werte haben x und y nach der Ausführung?
  3. Das folgende Programm reicht Werte über drei Variablen weiter. Welche Werte haben a, b und c nach der Ausführung?
  4. Das folgende Programm multipliziert x wiederholt mit 3. Welchen Wert hat n nach der Ausführung?
  5. Die folgende for-Schleife erhöht i jeweils um 2. Welchen Wert hat s nach der Ausführung?