Vererbung



  • 314159265358979 schrieb:

    #include <iostream>
    #include <string>
    #include <array>
    #include <algorithm>
    #include <iterator>
    using namespace std;
    
    // Erst mal die Angabe korrigiert. Deutscher Code ist übrigens schrecklich, IMO.
    struct article
    {
    	article(unsigned article_number, string name, unsigned price)
    		: article_number_(article_number)
    		, name_(name)
    		, price_(price)
    	{}
    

    Unterstriche am Ende von Variablennamen sind übrigens schrecklich, IMO.



  • Mir doch egal, ob du das schrecklich findest. Im Gegensatz zu deinem Einwand ist meiner durchaus berechtigt für Produktivcode.



  • 314159265358979 schrieb:

    Mir doch egal, ob du das schrecklich findest. Im Gegensatz zu deinem Einwand ist meiner durchaus berechtigt für Produktivcode.

    Kommt auf die Firma an. Ganz davon abgesehen ziehe ich zwar auch eine einheitliche Sprache vor, aber mir ist Deutsch oder sogar "leichtes" Denglisch (Begrenzt auf die üblichen englischen Begriffe) lieber, als schlechtes oder unpassendes Englisch.

    Ich kenne einige Firmen die ausschließlich den deutschen Markt bedienen (alleine schon, weil sie gar nicht die Kapazitäten für eine Internationalisierung hätten, und alleine schon auf diesen Markt noch Wachstumschancen haben). In solchen Firmen halte ich deutschen Code sogar für besser, weil er die Fachbegriffe die in der Software verwendet werden auch wiederspiegelt.

    Zudem darf man zwar an den Professoren Kritik üben, diese geben einem aber nun einmal den Lehrstoff (wie gut/schlecht auch immer) vor, und es gibt einige die alleine abweichende Bezeichner schon schlecht bewerten (Ich habe persönlich kein Respekt vor denen, die alleine schon auf Ausdrücke wie "(void)" oder Code pochen, der nicht wenigstens grundlegend den C++ Standard entspricht, dies ändert aber nichts daran das damit den Lernenden nicht geholfen wird).

    Leider sind die Professoren teilweise sehr praxisfern, und ruhen sich auf ihren Leistungen aus (Der erste C++ Standard ist wie gesagt ca. 14 Jahre alt - da darf man schon annehmen das dieser auch mal langsam zu den Professoren durchkommt).



  • sunny89 schrieb:

    Naja, das Programm nennt sich irgendwie DevC++, aber es würde mich nicht wundern... Also wenn ich versuche mein Programm zum Laufen zu bringen, dann erhalte ich folgende Meldung:

    no matching function for call to `Naehrmittel::Naehrmittel(int, const char[5], double, int, double, double)'
    candidates are: Naehrmittel::Naehrmittel(const Naehrmittel&)
    Naehrmittel::Naehrmittel(int, float, float)
    Naehrmittel::Naehrmittel()

    Die Meldung solltest du dir nochmal genau durchlesen, sie sagt ausnahmsweise mal sehr genau was dein Fehler ist.

    Du willst mit "Naehrmittel(1, "Mehl", 1.19, 300, 0.2, 0.05)" ein solches anlegen, es gibt aber keinen Konstruktor der Klasse "Naehrmittel" bei dir der 6 Parameter annimmt.

    Was du suchst ist ein Konstruktor wie der folgende:

    class Artikel
    {
      public:
        Artikel(int artikelNr, char *name, float preis);
    };
    
    class Naehrmittel : Artikel
    {
      public:
        Naehrmittel(int artikelNr, char *name, float preis, int kalorien, float eiweiss, float fett)
        : Artikel(artikelNr, name, preis),
          Kalorien(kalorien),
          Eiweiss(eiweis),
          Fett(fett)
        {
        }
    };
    


  • 314159265358979 schrieb:

    Untertreib mal nicht. 99% aller Professoren. 😞

    Weiß derjenige so genau zu beurteilen, der noch nie eine Uni von Innen gesehen hat.



  • Du weißt, dass ich Recht hab, also spar dir deinen Post und verzieh dich in das Loch, aus dem du hergekommen bist.



  • asc schrieb:

    Leider sind die Professoren teilweise sehr praxisfern, und ruhen sich auf ihren Leistungen aus

    Inwiefern ruht sich ein Physikprof auf seinen Leistugnen aus, wenn er dazu verdonnert wird, völlig fachfremd eine GDI-Veranstaltung zu lehren? Die Situation ist irgendwie der Normalfall, insbesondere bei Universitäten die keine eigene Fakultät für Informatik haben. Oder verlangst du, dass ein prof in allen Fachbereichen wegweisende Leistungen vorweisen können muss?



  • otze schrieb:

    Inwiefern ruht sich ein Physikprof auf seinen Leistugnen aus, wenn er dazu verdonnert wird, völlig fachfremd eine GDI-Veranstaltung zu lehren? Die Situation ist irgendwie der Normalfall, insbesondere bei Universitäten die keine eigene Fakultät für Informatik haben...

    Wenn es nur bei fachfremden Professoren so wäre, käme ich damit klar. Aber ich kenne selbst aus dem Informatikbereich solche Negativbeispiele zu genüge.

    Ich akzeptiere auch grundlegend nicht, das ein Professor einen anderen Codestil schlecht bewertet, solange er inhaltlich in Ordnung und Lesbar ist, und auch nicht gegen den Standard widerspricht. Ich habe auch im Info-Bereich etliche erlebt die auf kleinste Stilunterschieden (z.B. "()" versus "(void)") mit Notenabzügen reagieren.

    Das gleiche gilt für Lehrer die als eines ihrer Hauptfächer die Informatik freiwillig gewählt haben (ja, es gibt auch solche), und dennoch auch Jahrzehnte später sich an Sachen klammern die längst so nicht mehr praktiziert werden.



  • 314159265358979 schrieb:

    Du weißt, dass ich Recht hab, also spar dir deinen Post und verzieh dich in das Loch, aus dem du hergekommen bist.

    Guter deutscher Code ist besser als schlechter Englischer (im Bezug auf die Bezeichner).

    Ein
    int multiplizieren(int a, int b)
    ist besser als ein
    int multiple(int a, int b);

    😉

    Alles schon gesehen. Wichtig ist nicht welche Sprache verwendet wird, sondern dass durchgehend die Namen korrekt und präzise sind. Selbes gilt für Kommentare.

    Im idealfall nimmt man natürlich englisch, aber wenn das nicht geht weil die Entwickler es nicht gut genug können - dann lieber gutes deutsch als schlechtes englisch.



  • Mein Programm läuft nun! Vielen, vielen lieben Dank für eure Hilfe! 🙂 Ich bin so erleichtert! Auch wenn es etwas frustierend ist, nun zu wissen, dass mein Prof uns veraltete Dinge lehrt.



  • sunny89 schrieb:

    Auch wenn es etwas frustierend ist, nun zu wissen, dass mein Prof uns veraltete Dinge lehrt.

    Siehs als Herausforderung, dich selbst fortzubilden und es besser hinzubekommen als der Prof 😉



  • Um das bissl C++ da zu lernen, bedarf es nun wirklich kein Professor. Einfach machen!

    (PS: ich mein nich C++ ansich, sondern was die da lernen sollen)



  • ja aber der Professor vergibt nun mal die Noten. Da kann ich es durchaus verstehen, dass man sich lieber an einen veralteten Stil hält und dafür ne gute Note kassiert, als da mit ner 4 rauszugehen.



  • daddy_felix schrieb:

    ja aber der Professor vergibt nun mal die Noten.

    Nein, das machen die Tutoren. Die kriegen vielleicht ne Richtlinie vom Prof worauf die achten sollen und bei wievielen Punkten es welche Note gibt,
    aber wenn die fit sind, dann scheißen die auf unsinnige Anweisungen.

    Überhaupt ist es Resourcenverschwendung, sich eine Programmiersprache von einem Prof beibringen zu lassen.
    Das kann jedes gute Buch besser.



  • Jockelx schrieb:

    Nein, das machen die Tutoren.

    Manchmal auch die Profesoren selbst, diverse Assistenten oder Hilfsassistenten etc. Das Feld ist weit. Das handhabt jeder Lehrstuhl wie er will.



  • Braunstein schrieb:

    Manchmal auch die Profesoren selbst

    Gut, ich kann natürlich nicht für jede Uni sprechen.
    Bei uns war es jedenfalls undenkbar, dass sich ein Prof Tage lang mit Klausurenkorrektur beschäftigten müsste.
    Was ich auch für völlig richtig halte.



  • Jockelx schrieb:

    Überhaupt ist es Resourcenverschwendung, sich eine Programmiersprache von einem Prof beibringen zu lassen.
    Das kann jedes gute Buch besser.

    👍
    Kann ich auch nicht verstehen. Man sagt halt im ersten Semester, dass man im zweiten Sprache X/Y verstanden haben sollte, empfiehlt ein paar Bücher und steht für Nachfragen bereit. Sodass man sich dann zumindest auf Architektur und Spezialfälle konzentrieren kann.



  • sunny89 schrieb:

    Auch wenn es etwas frustierend ist, nun zu wissen, dass mein Prof uns veraltete Dinge lehrt.

    Könnt ihr schon programmieren und sollt jetzt C++ lernen, dann ist die Vorlesung wirklich schlecht oder sollt ihr vlt. nur programmieren lernen und habt einen Prof bekommen der euch das jetzt mit C++ bei bringt, dann lern einfach programmieren.



  • cvbnmfgbn schrieb:

    Könnt ihr schon programmieren und sollt jetzt C++ lernen, dann ist die Vorlesung wirklich schlecht oder sollt ihr vlt. nur programmieren lernen und habt einen Prof bekommen der euch das jetzt mit C++ bei bringt, dann lern einfach programmieren.

    Habe ich dich richtig verstanden? Wenn sie schon programmieren koennen, dann ist die Vorlesung schlecht. Wenn man aber noch nicht programmieren kann ist es in Ordnung veraltetes Zeug zu lernen? 🙄



  • icarus2 schrieb:

    Habe ich dich richtig verstanden?

    Nein und irgendwie hab ich das gefühl, du willst es auch falsch verstehen.


Anmelden zum Antworten