Frage von WarumGeld, 20

C++ Taschenrechner als Template umsetzen?

Wie kann ich alle 4 Grundrechenarten (immer nur mit 2 Termen, also ganz einfach) in ein einziges Template Packen ?

Expertenantwort
von TeeTier, Community-Experte für programmieren, 11

Da fallen mir spontan 2 Möglichkeiten ein.

Aber da die Programmieranfänger von GF wieder am Live-System gespielt, und den ohne hin schon genug verbuggten Editor jetzt auch noch komplett - im Bezug auf Codeformatierung - vermurkst haben, poste ich meine Antwort mal unter diesem Link hier:

http://pastebin.com/StUgyc7D

Wie du siehst gibt es zwei grundlegend verschiedene Implementierungen calc1() und calc2() ...

Du könntest zwar noch mit variadischen Templates oder ähnlichem arbeiten, aber das kannst du dir ja dann selbst zusammen bauen. :)

Viel Spaß! :)

Kommentar von TeeTier ,

PS: Hier ist noch eine leicht verbesserte Version, da der Rückgabewert bei den kleinen Hilfsfunktionen unter obigem Link immer "int" ist.

http://pastebin.com/uhmUK1U9

Tja, so etwas passiert, wenn man ein Template aus einer bestehenden Funktion heraus arbeitet. Was mich wundert ist, dass GCC da selbst mit "-Wall -Wpedantic -Wextra" nicht meckert.

Naja, egal. Auf jeden Fall sollte diese aktualisierte Version so ziemlich genau das machen, was du möchtest. Vorausgesetzt, ich habe deine Frage richtig verstanden. :)

Antwort
von WaterRise, 20

Kannst du es etwas weiter ausführen ?

Wie ich es bis jetzt auffasse, willst du eine Funktion schreiben, die zwei Variablen z.B multipliziert. Ist dass richtig ?

Kommentar von WarumGeld ,

Ich möchte eine Template-Funktion anlegen, die zwar immer Nur zwei Werte miteinander verrechnet, bei der aber die Rechenart (in diesem Fall nur die 4 Grundrechenarten) Variabel ist, damit man sie sich aussuchen kann, ohne das ich dazu 4 verschiedene Funktionen schreiben muss.

Keine passende Antwort gefunden?

Fragen Sie die Community