2016-04-15 7 views
0

Also für eine Hausaufgabe müssen wir die Partialbruch-Definition des Goldenen Schnitts machen (n + (1/(n + 1/(.....) aber wir müssen es rekursiv tun. OK, kein Problem Ich kann das tun .... aber wir müssen diese rekursive Funktion 1000 Mal aufrufen und können keine Parameterfunktionen verwenden.Der Professor sagte, um es auf eine endliche Anzahl von Aufrufen zu beschränken, können wir eine Wrapper-Funktion verwenden, aber ich habe noch nie davon gehört Begriff in der Klasse und weiß nicht, wo ich anfangen soll auf der Wrapper-Funktion? Könnte mir jemand helfen?Wie verwende ich eine "Wrapper-Funktion", um eine rekursive Funktion ohne Parameter n mehrmals aufzurufen?

Bitte, wenn Sie mir sagen können, wie es geht, ohne mir die Lösung zum Teilbruchteil selbst zu schicken, bin ich schlecht in dieser Klasse tun und es auf eigene Faust lernen wollen. Ich brauche nur Hilfe mit Wrapper-Funktion. Danke!

+0

Also wie eine Header-Datei? oder eine Funktion im Programm selbst? Und wie würde ich das für eine Zählung tun? Tut mir leid, wenn ich glaube, dass ich @Joachim Pileborg drücke –

Antwort

1

Eine "Wrapper-Funktion" ist eine Funktion, die eine andere Funktion wraps. Es ist im Wesentlichen eine andere Funktion, die die eigentliche Funktion aufruft.

Als einfaches und unabhängige Beispiel betrachten Sie den Maximalwert von x und 10 erhalten möchten. Sie könnten std::max direkt wie value = std::max(x, 10) nennen, aber Sie wollen nicht, um den Wert zu übergeben 10 die ganze Zeit, so dass Sie machen eine Wrapper Funktion:

int max10(int x) 
{ 
    return std::max(x, 10); 
} 

Die Funktion max10 ist eine Wrapper-Funktion.

Eine mögliche Lösung für Ihr Problem ist es, die eigentliche Funktion nicht rekursiv, sondern die Wrapper-Funktion. Die Wrapper-Funktion nimmt ein Argument n, das die Anzahl der Rekursionen ist, die es vornehmen sollte. Wenn n größer als Null ist, rufen Sie die tatsächliche Funktion auf und führen dann einen rekursiven Aufruf der Wrapperfunktion mit dem Argument n - 1 aus.

Verwandte Themen