Sichtbarkeit KLausur



  • Hallo liebe Community;
    ich lerne gerade für eine Klausur und bin absoluter Neuling in C++ und
    hoffe, dass ich mein Verständnis durch euch verbessern kann in Sachen C++.

    Aufgabe:
    Ich soll die Sichtbarkeit von Variablen,Konstanten und formalen Parametern durch Linien hervorheben und wenn sie verdeckt sind durch gestrichelte Linien darstellen.
    (Habe leider nicht herausgefunden, wie ich meinen screenshot hier direkt
    anzeigenkann)

    https://preview.ibb.co/h3RQZQ/sichtbarkeit.jpg

    In dem Bereich mit dem Fragezeichen, war ich dann total überfordert und wusste nicht einmal, welche variablen ich überhaupt markieren sollte.

    Wäre sehr lieb, wenn mir einer weiterhelfen könnte. In der Übung war diese Aufgabe total easy und auf anhieb lösbar. Hier in der Klausur verwirren mich die Funktionen ehrlich gesagt ein bisschen.

    Gibt es da ein paar regeln an denen man sich durchhangeln kann in der Aufgabe?



  • Die Funktionsparameter (d.h. a und b sowie a und c1) mußt du entsprechend markieren (d.h. bis wann sind diese sichtbar [engl. "in scope"]?).



  • Danke für die Schnelle Antwort. Wenn ich diese nun markieren hab ich als nächstes das Problem, dass ich nicht weiß bis wohin die leben bzw ich den strich ziehen muss.

    Vermutung: markiere ich a und b und sage die sind in scope nur bis ende ihrer funktion berechneSeite und analog nochmal a und c1 und sage in scope nur in ihrer fkt berechneHoehe?

    Was mich dann noch mehr verwirrt, weil die Konstanten a,b,c1 doch von "oben" abgegriffen wurden und so die ganze zeit sichtbar waren?
    Habe ich dann in dem Block mit double a und double b etc einen großen Fehler gemacht?



  • Ja, Funktionsparameter gelten bis zum Ende der Funktion. Die gleichnamigen Variablen in anderen Funktionen tragen zwar den gleichen Namen, sind aber andere Variablen (mit einer anderen Sichtbarkeit).
    Evtl. gleichnamige globale Variablen werden solange überdeckt und müssen explizit mittels "::" angesprochen werden (s. in berechne() die Variablen "h" und "::h").



  • danke:)



  • noch eine organisatorische frage zum Forum.
    ich habe in der Klausur natürlich weitere aufgaben, die ich zum teil nicht gelöst bekomme. Bei Fragen zu anderen jedes mal einen neuen Thread eröffnen oder lieber in diesem hier weiter posten?



  • Ein Thread pro Frage.

    Und die gelbe und die grüne Linie würd ich weglassen. Funktionen sind keine "Variablen,Konstanten und formale[] Parameter[]".



  • danke


Log in to reply