next up previous
Praktikumsaufgabe 2: Linkage mit C-Funktionen


Diese Praktikumsaufgabe soll helfen, den Aufrufmechanismus von Methoden zu verstehen.

Wir wollen nun durch Implementieren einer (Pseudo-)methode in der Programmiersprache C und expliziter Übergabe der Adresse des Zielobjektes als erstes Argument an diese den Methodenaufruf simulieren. Die C-Funktion soll ein Datenelement des Objektes modifizieren. Definieren Sie bitte hierfür eine C++-Klasse LinkCPP mit einem Datenelement und zwei Methoden
volatile int get() const; und
volatile int set(int);
Speichern Sie bitte die Klassendefinition im File PROTECT/LinkCPP.h, die Implementation der Methoden im File PROTECT/LinkCPP.cc! Rufen Sie nun anstelle der Zuweisung an das private-Datenelement in LinkCPP::set eine C-Funktion LinkCPP_set auf und Übergeben Sie an diese zwei Argumente:
1.
die Adresse des konkreten Objektes der Klasse LinkCPP
2.
das Argument zur Modifikation des private-Datenelementes
Die Zuweisung an das private-Datenelement soll innerhalb der C-Funktion erfolgen. Speichern Sie bitte die Implementation der C-Funktion in einem File PROTECT/LinkC.c!

next up previous