Gewissensfrage korrekturen



  • Danke für den Tipp, dann gehe ich nach der Note auf ihn zu. Es sind gedruckte Folien die er allen Studis zur Verfügung stellt.

    Solange die Sprache (bei den Studis) noch nicht sitzt prägen sich Dinge schnell ein die man später nur sehr schwer ablegt... Deswegen möchte ich es dass er es evtl. ändert.



  • naja, das was da zu structs steht ist so nicht ganz richtig :p

    structs können in C++ sehr wohl Methoden bekommen.
    Ebenso kann man für structs Operatoren überladen.
    Auch können structs von anderen structs erben.
    Es ist sogar möglich dass eine Klasse von einem struct erbt.
    (ob es auch umgekehrt geht, weiß ich jetzt allerdings nicht :p)

    Beispielsweise werden Schnittstellen in C++ gerne als structs definiert, eben wegen default-public.
    Manche Leute sind eben zu faul, das public extra hinzuschreiben^^

    Du kannst Strukturen übrigens auch einen Konstruktor geben usw.

    Zu deiner eigentlichen Frage, ob es sinnvoll ist, dem Prof sowas zu sagen....

    Wir kennen deinen Prof garantiert nicht so gut wie du 😉
    Ob man jemand höhergestellten auf Fehler hinweisen kann, wie man das tun sollte usw. hängt sehr von der jeweiligen Person ab.
    Also im Zweifelsfall würde ich auf Nummer sicher gehen und die Klappe halten 😉

    MfG DrakoXP



  • DrakoXP schrieb:

    naja, das was da zu structs steht ist so nicht ganz richtig :p

    gewissen hat ja schon das Richtige gesagt: Der einzige Unterschied zwischen struct und class besteht darin, dass bei ersterem alles standardmässig public ist.

    DrakoXP schrieb:

    Beispielsweise werden Schnittstellen in C++ gerne als structs definiert, eben wegen default-public.
    Manche Leute sind eben zu faul, das public extra hinzuschreiben^^

    Hab ich jetzt noch nie gesehen. Viel häufiger sind meiner Meinung nach z.B. Funktoren und ungekapselte Datenbündel.



  • Es ist sogar noch viel schöner:

    Es gibt drei Schlüsselworte (sog. class-keys), die Klassen definieren: "class", "struct" und "union". Alle so deklarierten Datentypen sind Klassen (!), nur halt verschiedene Arten. Eine structure (mit "struct" deklarierte Klasse) hat als besondere Eigenschaft nur, dass Member und Basisklassen per Default public sind (wie hier schon gesagt wurde), eine Union zeichnet sich zusätzlich dadurch aus, dass sie nur einen Datenmember zur selben Zeit hat.

    Es gibt ein paar weitere Einschränkungen bei Unions (im Wesentlichen, dass Unions mit Vererbung nichts am Hut haben), aber die Basisfunktionalität einer Klasse ist bei all diesen Klassentypen vorhanden. Folgendes ist gültiges C++:

    #include <iostream>
    
    int main() {
      union foo_union {
        foo_union(int x) : x(x) { }
        foo_union(char c) : c(c) { }
    
        int  get_int () const { return x; }
        char get_char() const { return c; }
    
        void set_int (int  new_x) { x = new_x; }
        void set_char(char new_c) { c = new_c; }
    
      private:
        int x;
        char c;
      } u(1);
    
      std::cout << u.get_int() << std::endl;
      u.set_char('A');
      std::cout << u.get_char() << std::endl;
    }
    

    Einen Destruktor habe ich hier nicht geschrieben, möglich wäre es aber auch. Das muss man sich mal auf der Zunge zergehen lassen.



  • Nexus schrieb:

    DrakoXP schrieb:

    Beispielsweise werden Schnittstellen in C++ gerne als structs definiert, eben wegen default-public.
    Manche Leute sind eben zu faul, das public extra hinzuschreiben^^

    Hab ich jetzt noch nie gesehen.

    Wir machen das genau so. 😉



  • Ebenfalls. Ein public/private am Anfang der Klasse sieht komisch aus.

    @Topic: Ich würde den PRofessor wahrscheinlich in Grund und Boden flamen. Aber an deiner Stelle würde ich das lassen.



  • Meinen Professorem hätte ich soetwas ohne Bedenken sagen können. Kommt halt immer auf den einzelnen Mensch an ...



  • gewissen schrieb:

    Ich weiß dass es auch ganz schön nach hinten gehen kann. Würdet ihr es anmerken?

    Was soll da nach hinten losgehen? Würdest du lieber in der Klausur wissentlich etwas falsches schreiben, um keine Punktabzüge zu bekommen?

    Wenn die Klausur heute ist, ist es natürlich ein bisschen spät für solche Anmerkungen ...

    314 schrieb:

    Ich würde den PRofessor wahrscheinlich in Grund und Boden flamen.

    Das würde ich lassen, man sieht sich bekanntlich immer zweimal, und er sitzt am längeren Hebel.



  • Ich kenne mich aus. Da kann er sich ärgern so viel er will.



  • DrakoXP schrieb:

    Es ist sogar möglich dass eine Klasse von einem struct erbt.
    (ob es auch umgekehrt geht, weiß ich jetzt allerdings nicht :p)

    Da struct und class abgesehen von default-public das selbe sind gehts auch umgekehrt.

    -alles public
    -keine methoden
    -keine operatoren
    -keine vererbung
    Nur POD

    Ist in C++ alles falsch, wie schon gesagt wurde. In C ist das was anderes, C-Structs sind immer C++-PODs, public/private, operatorüberladung, Methoden und Vererbung gibts in C nicht.

    -kein oop

    Ist nicht nur in C++ sondern auch in C falsch. Man kann selbst in C mit structs OOP-Stil programmieren, auch wenn man dann drauf achten muss, dass man sich daran hält - die Sprache kanns nicht erzwingen.
    Ein Beispiel für etwas, was in C durchaus als objektorientiert bezeichnet werden darf sind die FILE Operationen aus stdio (fopen, fread & Co).
    OOP muss nicht zwangsläufig Vererbung, Polymorphie und Co. beinhalten, ein geschlossener Satz Operationen und Funktionen auf einem opaquen Typen ist schon eine Form der Objektorientierung.



  • Er gibt dir die Noten. Da kannst du ihn so viel flamen wie du willst.



  • Ich kann auch zu höheren Instanzen wegen unfähiger Lehrer gehen. Da kann er mir Noten geben so viel er will.



  • 314159265358979 schrieb:

    Ich kann auch zu höheren Instanzen wegen unfähiger Lehrer gehen. Da kann er mir Noten geben so viel er will.

    Da wirst du aber zu kämpfen haben. Ich sehe die Erfolgschancen eher als gering an, auch wenn du handfeste Beweise seiner Unfähigkeit hast (allerdings in Form von ein paar Fehlern, die man in fast jeder Foliensammlung findet).



  • Das mag sein.



  • Vor allem wird er vermutlich nicht unfähig sein, sondern ein Experte für Datenbankoptimierung, Künstliche Intelligenz oder Kryptographie, der dieses Jahr bei der Verlosung der Anfängervorlesung den kürzeren gezogen hat.



  • Das entschuldigt keinen fehlerhaften Unterricht.



  • Ähm, doch? Wieso glaubst du, dass jeder perfekt sein muss? Wenn du einen Fehler entdeckst, gehst du zu dem Professor hin und teilst ihm das mit. Dann korrigiert er seine Folie und dann hat sich das normalerweise. In dem Fall gibt es auch wenig zu diskutieren, das steht so schließlich in jedem Lehrbuch (außer JW) und im Standard.

    Aber du willst ihn ja wegen Inkompetenz anscheinend öffentlich teeren und federn lassen.



  • Wenn er nichts tut, dann wird er öffentlich geteert und gefedert.



  • Ich glaube das hier führt zu Nonsens. Es grenzt schon an Armut wenn Jemand bewusst einen Anderen wegen Fehlern demütigen möchte.

    Gerade diejenigen die am lautesten schreien machen die größten Fehler und sind meistens noch nicht einmal in der Position dass sie sich so etwas erlauben können. Wer so vorgehen möchte ist weder fähig einen Vorgesetzten zu stellen noch irgendwelche kooperative Arbeit zu leisten die Studis mit den Profs. in nahezu jedem Modul tun müssen.

    Hoffentlich wird dieser Thread bald geschlossen um diesem Armutszeugnis nicht noch mehr Nährboden zu geben.



  • Lol, 13 jährige Mädels und ihre Einstellung zur Welt sind schon herzig.

    -----

    Ja, Pi, bitte, wenn du mal alt genug bist, geh studieren, und leg dich mit allen Profs an! Das kommt voll gut, haste voll recht! 1A!!!


Anmelden zum Antworten