C++ Tutorial #15 - Access modifiers with inheritance

Поділитися
Вставка
  • Опубліковано 17 гру 2024

КОМЕНТАРІ • 25

  • @19DavidVilla96
    @19DavidVilla96 7 років тому +13

    Der Spruch mit dem Intro war geil haha
    Du machst das echt ziemlich gut. Kann mir für jedes Video eine Vorlesung sparen^^

  • @SuperKarim321
    @SuperKarim321 7 років тому +16

    Alleine dafür, dass du kein intro hast bekommst du nen daumen hoch :D
    Spaß bei seite, hast ne echt gute art zu erklären und man hört dir gerne zu. Direkt mal abonniert

  • @nazzar0265
    @nazzar0265 4 роки тому +1

    Der Spruch mit dem Intro👍🏽😂😂

  • @Friedger97
    @Friedger97 4 роки тому +1

    ehrenmann 1337 danke ich küss dein auge brudi

  • @bekrimzeka8171
    @bekrimzeka8171 6 років тому

    sehr gut erklärt

  • @dezember1333
    @dezember1333 2 місяці тому

    ich weiß, etwas spät, aber warum verwendet er std:: wenn er using namespace std schon oben stehen hat?

  • @Melonenkern
    @Melonenkern 6 років тому +1

    Hi, echt ein tolles Video!
    Ich habe allerdings noch eine Frage.
    Angenommen die Klasse Hund ist private von der Klasse Tier abgeleitet und Dalmatiner public von Hund (wie im Video).
    Würde es einen Fehler geben, wenn nun in der Main-Fkt. an der Stelle von „ace.wieMachtDasTier“ „ace.test“ stehen würde?
    LG

    • @TheMorpheusTutorials
      @TheMorpheusTutorials  6 років тому +1

      Hi,
      danke.
      Am Besten immer ausprobieren. Aber wenn ich grade den Code richtig überflogen hab (hab nicht alles im Kopf, was ich je getippt habe :D) kennt zwar niemand außer Tier und Hund die geerbte Funktion wiemachtdastier aber test ist ja eine gewöhnlich public Methode und wenn die Veerbung public stattfindet werden alle public Methoden auch public in Dalmatiner übernommen, daher sollte das gehen.

  • @hustler764
    @hustler764 9 місяців тому

    Frage zu class Hund: private Tier {};
    ich verstehe nicht, wieso man private vererbt. Du sagst im Video, dass dadurch alle Methoden der Tier (parent class) private werden. Dadurch können diese Methoden weder in der Hund (child class), noch in der main funktion aufgerufen werden.
    Was genau habe ich dann vererbt? wäre sehr cool, wenn es jemand kurz erklären könnte :)

  • @S.T.ability
    @S.T.ability 2 роки тому

    Hallo Morpheus! Bei mir hat die Methode wieMachtDasTier() mit einem Dalmatiner Objekt funktioniert. Aber für die Dalmatiner Klasse musste ich erstmal einen Default-Konstruktor definieren, weil ich ohne Konstruktor eine Fehlermeldung bekommen habe (use of deleted function 'Dalmatiner::Dalmatiner()') Das Problem ist, dass die Klasse Dalmatiner die Klasse Hund vererbt. Und die Klasse Hund hat einen user-definierten Konstruktor. Deswegen habe ich einen Konstruktor für Dalmatiner gebraucht. Das ist ein Teil meines Codes:
    class Dalmatiner : public Hund
    {
    public:
    Dalmatiner() : Hund("")
    {
    }
    };
    int main()
    {
    Hund ace("ace");
    ace.wieMachtDasTier();
    ace.test();
    Dalmatiner neuerHund;
    neuerHund.test();
    neuerHund.wieMachtDasTier();
    return 0;
    }

  • @JawsFG_
    @JawsFG_ 4 роки тому

    Sehr gutes Video. Nur eine Frage: Warum soll ich 'protected' oder 'private' bei der Vererbung nutzen? Wie du am Ende sagtest, mit 'public' ist man eigentlich auf der sicheren Seite, weil dann nicht auf einmal eine 'public' Methode der Basisklasse zu einer 'protected' Methode in der abgeleiteten Klasse wird z.B.

    • @TheMorpheusTutorials
      @TheMorpheusTutorials  4 роки тому +1

      Ich nutze auch immer nur public, aber falls du mal auf code stößt, der das verwendet, weißt du nun bescheid

    • @JawsFG_
      @JawsFG_ 4 роки тому

      @@TheMorpheusTutorials Alles klar. Danke für deine Antwort :D

  • @trysam6952
    @trysam6952 6 років тому

    kann man auch protected variablen aus der superklasse verändern, abfragen?? wenn wie? da stand bei mir irgendein fehler

    • @TheMorpheusTutorials
      @TheMorpheusTutorials  6 років тому

      Welcher Fehler? Das sollte eig unproblematisch sein. Sie sind halt auch protected, d.h. du kannst nicht überall drauf zugreifen

    • @trysam6952
      @trysam6952 6 років тому

      hat sich erledigt, habe die zuweisung nur ausversehen außerhalb einer methode/funktion (immer noch kp was da der unterschied ist xD) geschrieben... da klappt natürlich nix

  • @johnwayne8059
    @johnwayne8059 3 роки тому

    Danke für diese serie! Noch ne dumme Frage:
    Warum gibt es eine private Vererbung wenn sie eh nichts mit gibt? Sorry falls das jetzt zu dumm ist!🤣🤣🤣

    • @johnwayne8059
      @johnwayne8059 3 роки тому

      @DGC 08 na, auf jeden!😉 Vielen Dank für die Antwort!👍👍👍

  • @teacup3000
    @teacup3000 5 років тому

    Ich versteh nicht ganz wofür man eine Klasse private erben lässt. Dann kann man ja gleich in der Superklasse alles private machen oder?

    • @TheMorpheusTutorials
      @TheMorpheusTutorials  5 років тому

      Kannst du schon, wenn du Zugriff auf die Superklasse hast, aber das ist ja nicht immer so. Zb im Team oder bei Bibliotheken

  • @ActionJ4cks0n187
    @ActionJ4cks0n187 2 роки тому

    ich glaube so ganz richtig ist das nicht. wenn du protected von Tier an den Hund vererbst, sollte Hund::wieMachtDasTier() zugreifbar sein!