Abhänggkeitsanalyse



  • Hey Leute,

    ich habe die Aufgabe bekommen, eine Abhängigkeitsanalyse von Parametern zu programmieren. Wörtlich heißt es da: "In dieser Übung soll eine Klasse jsp implementiert werden, die zusätzlich zu den Funktionswerten, deren
    Abhängigkeiten in Bezug auf die Funktionsparameter ermittelt. Die Abhängigkeiten sollen mit Hilfe
    von Mengen bestimmt werden. Dabei kann allen Funktionsparametern ein eindeutiger Index manuell
    zugewiesen werden. Sollte eine Operation mit einem Objekt dieser Klasse durchgeführt werden, muss
    zusätzlich zur Berechnung des Wertes auch die Abhängigkeitsmenge propagiert werden [..] Ein Objekt der Klasse jsp besteht aus dem Funktionswert vom Typen double und der Menge, die kennzeichnet,
    von welchen Parametern dieses Objekt abhängig ist. Die Menge soll den Typen set aus der
    Standardbibliothek verwenden und die Indizes als Integer abspeichern. Beide Attribute sollen private
    gespeichert werden."
    Ich verstehe nicht ganz, was von mir erwartet wird. Hat jemand eventuell den Durchblick ?
    Mein Ansatz bisher für die Klasse jsp:

    #ifndef _JSP_HPP_
    #define _JSP_HPP_
    #include<iostream>
    #include<cmath>
    #include<cstdlib>
    using namespace std;

    template <class J>

    class jsp {

    double initSet (int p) {
    set<int> si;

    }

    public:

    friend ostream& operator<<(/* */);
    };

    ostream& operator<<(/*ostream &s, const jsp& d*/) {

    }

    #endif[code="cpp"]



  • Nein. Klassen haben keine Funktionswerte.



  • manni66 schrieb:

    Nein. Klassen haben keine Funktionswerte.

    Aber in der von der Uni vorgegebenen main () wird eine Fkt initSet() aufgerufen.



  • Mir ist auch nicht ganz klar, was von dir erwartet wird.

    Sollst du eine Parameter Analyse von beliebigen c++ Funktionen machen? Wenn ja, kennst du wenigstens die Parameter Typen / Deren Anzahl. Wenn nicht ist wahrscheinlich “variadic templates“ das Stichwort nach dem du suchen solltest.

    Oder handelt es sich doch eher un eine mathematische Funktion, die nur von Zahlentypen abhängt und eine Zahl zurück gibt?

    Da der Rückgabewert immer double ist würde ich auf zweites tippem.

    Zu deinem Code Ausschnitt:

    Wann eine Template Klasse, wenn du mit den Typen nichts machst?

    Wenn

    initSet()
    

    aus der

    main()
    

    aufgerufen werden soll, muss die Funktion public sein und soll wahrscheinlich keinen Rückgabewert haben.
    Dein

    set<int>index
    

    soll private sein und nicht nur in der Fkt

    initset()
    

    definiert sein.

    Das Ergebnis, welches private gespeichert werden soll, fehlt.

    Etwas allgemeiner würde ich mir

    using namespace std;
    

    nicht angewöhnen, damit du in größeren Projekten zum einen nicht in Namenskonflikte gerätst und du später direkt beim ersten Lesen weißt Etikett die benutzten Funktionen kommen.


Log in to reply