Export_Kartei_Beispiel für eine Prüfungskarte_2018_07_06.json 2.05 KB
Newer Older
1
{"name":"J: Beispiel für eine Prüfungskarte","description":"Vorlesung Objektorientierte Programmierung nach Thomas Letschert im Sommersemester 2006.","date":"2018-07-05T09:22:35.847Z","dateUpdated":"2018-07-06T08:00:32.312Z","editors":[],"owner":"Z3LfhpTsXcbvspRtu","visible":false,"ratings":true,"kind":"personal","price":0,"reviewed":false,"reviewer":"undefined","request":false,"relevance":0,"raterCount":0,"quantity":1,"license":["by","nc","sa"],"userDeleted":false,"learningActive":false,"maxCards":0,"daysBeforeReset":0,"learningStart":"1970-01-01T00:00:00.000Z","learningEnd":"1970-01-01T00:00:00.000Z","learningInterval":[],"learners":0,"wordcloud":false,"shuffled":false,"cardType":5,"difficulty":2,"originalAuthor":"Thelen, Christoph"}, {"subject":"Vererbung","front":"Das Programm\n\n~~~~~~~~~~~C++\nclass Basis {\npublic:\n  Basis() : x(0) {}\n  Basis(int pb) : x(pb) {}\n  Basis(Basis &b): x(b.x) {}\n  int x;\n};\n\nclass Abgeleitet : public Basis {\npublic:\n  Abgeleitet() {}\n  Abgeleitet(int y) : Basis(y) {}\n  Abgeleitet(Abgeleitet &a) {}\n};\n\nint main() {\n  Abgeleitet a1(4711);\n  Abgeleitet a2(a1); // Kopierkonstruktor\n  cout << \"a1.x: \" << a1.x << \" a2.x: \" << a2.x  << endl;\n}\n~~~~~~\n\nerzeugt seltsamerweise die Ausgabe\n\n```\na1.x: 4711 a2.x: 0\n```\n\nWarum ist das so?","back":"Der automatisch generierte Kopierkonstruktor ruft den Defaultkonstruktor der Basisklasse auf. \n\nDieser belegt die Komponente `x` mit 0.","hint":"Sofern der Kopierkonstruktur der Basisklasse aufgerufen werden soll, muss dies in der Unterklasse explizit angegeben werden:\n\n~~~~~~C++\nclass Abgeleitet : public Basis {\npublic:\n  Abgeleitet () {}\n  Abgeleitet (int y) : Basis(y) {}\n  Abgeleitet (const Abgeleitet &a)\n    : Basis(a) // <-- OK: KOPIER-Konstruktor aktivieren\n    {}\n};\n~~~~~~\n","difficulty":2,"centerTextElement":[false,false,false,false,false,false],"date":"2018-07-04T16:11:00.441Z","learningGoalLevel":1,"backgroundStyle":1,"learningIndex":"0","learningUnit":"0","cardType":5,"dateUpdated":"2018-07-06T07:57:37.865Z","originalAuthor":"Thelen, Christoph"}