Void Erklären für meinen Ausbildungsleiter
-
Bashar schrieb:
Du betonst wahrscheinlich Datentyp, denn ein Typ ist void auf jeden Fall. Da im C++-Standard nirgends von Datentypen die Rede ist, sondern nur von object types, function types und incomplete types (void ist ein solcher), kann man darüber auch nicht so richtig streiten.
Okay, mit den 3 Unterscheidungen ist es tatsächlich abgrenzbar sein, wobei ich mir Vorstellen kann das "incomplete Type" als Begriff auch einige Fragen aufwirft.
Bashar schrieb:
Vorschlag: "unbestimmten" Typs.
Das ist ein guter Vorschlag

cu André
-
Badestrand schrieb:
Amazonasmann schrieb:
Polymorphie steht in direktem Zusammenhang mit der Vererbung
Nö
Es gibt statische und dynamische Polymorphie, du meinst hier dynamische Polymorphie. Statische Polymorphie sieht so aus, deine Aussage "ermöglicht es, verwandte Objekte gemeinsam zu verarbeiten, ohne vorher die Klassenzugehörigkeit ermitteln zu müssen." passt dazu aber auch:template<typename T> void foo( const T& t ) { int i = t.getVal(); // Hier muss der Typ T ein bestimmtes Interface aufweisen ... }edit: Überladung gilt glaubich auch als statische Polymorphie.
Wenn dieses statische Zeugs Polymorphie ist, dann ist jede Mehrdeutigkeit Polymorphie. Dann ist die Bezeichnung irgendwie sinnlos.
-
700 Mrd. $ Packet schrieb:
Badestrand schrieb:
Amazonasmann schrieb:
Polymorphie steht in direktem Zusammenhang mit der Vererbung
Nö
Es gibt statische und dynamische Polymorphie, du meinst hier dynamische Polymorphie. Statische Polymorphie sieht so aus, deine Aussage "ermöglicht es, verwandte Objekte gemeinsam zu verarbeiten, ohne vorher die Klassenzugehörigkeit ermitteln zu müssen." passt dazu aber auch:template<typename T> void foo( const T& t ) { int i = t.getVal(); // Hier muss der Typ T ein bestimmtes Interface aufweisen ... }edit: Überladung gilt glaubich auch als statische Polymorphie.
Wenn dieses statische Zeugs Polymorphie ist, dann ist jede Mehrdeutigkeit Polymorphie. Dann ist die Bezeichnung irgendwie sinnlos.
Uiii, das erinnert mich an einen ellenlangen Thread wos genau darum ging:
Polimorphie - dynamisch, statisch, Überladung, Templates ???
Simon
-
[quote="asc"]
Amazonasmann schrieb:
Ich würde das als halben Fehler ansehen. Für mich ist void kein Datentyp, auch kein leerer Datentyp.
Das liegt aber auch daran, dass du eine absolut beschissene und zudem auch noch vollkommen falsche Vorstellung davon hast, was ein Datentyp ist.
-
Bashar schrieb:
Vielleicht besser: Zur Kennzeichnung von Zeigern unbekannten Typs.
Vorschlag: "unbestimmten" Typs.
Besser: "unvollständig".
Unbestimmt wäre indeterminate, was sich für gewöhnlich auf Objektzustände bezieht.
-
Void is a type specifying a typeless type.
-
camper schrieb:
Besser: "unvollständig".
Unbestimmt wäre indeterminate, was sich für gewöhnlich auf Objektzustände bezieht.incomplete gibts aber schon
-
C99 schrieb:
The void type comprises an empty set of values; it is an incomplete type that cannot be completed.
-
700 Mrd. $ Packet schrieb:
Wenn dieses statische Zeugs Polymorphie ist, dann ist jede Mehrdeutigkeit Polymorphie. Dann ist die Bezeichnung irgendwie sinnlos.
Was kennst du denn noch an Mehrdeutigkeiten? Ich verstehe Polymorphie jedenfalls so, dass je nach Typ mit dem gleichen Code Unterschiedliches passiert. Und genau das ist ja sowohl bei klassischer/dynamischer Polymorphie als auch bei template- und Überladungs-Polymorphie der Fall.
edit: Natürlich nicht Überladung mit verschiedener Parameter-Anzahl, sondern unterschiedlichen Typen in der Signatur.
-
ertappt! das gibts ja wohl nicht! du sollst die aufgabe selber erledigen und nicht irgendwem übertragen! sofort gefeuert.
-
Badestrand schrieb:
Was kennst du denn noch an Mehrdeutigkeiten? Ich verstehe Polymorphie jedenfalls so, dass je nach Typ mit dem gleichen Code Unterschiedliches passiert. Und genau das ist ja sowohl bei klassischer/dynamischer Polymorphie als auch bei template- und Überladungs-Polymorphie der Fall.
edit: Natürlich nicht Überladung mit verschiedener Parameter-Anzahl, sondern unterschiedlichen Typen in der Signatur.Polymorphie überladener Operatoren
"text"+"text2"
1+4
Was + bedeutet ist nicht eingeutig ohne den typ. + ist Vielgestaltigkeit
4.0
bar.foo()
Ebenfalls Polymorphie? Was . bedeutet ist auch nicht eindeutig. . ist doch auch Vielgestaltigkeit, oder?
-
Der Begriff "Polymorphie" ist einfach nicht eindeutig. Deshalb muss man sich vor endgültigen Aussagen hüten. Es kommt immer darauf an, wie Lehrer, Autoren, usw. den Begriff einführen und verwenden. Häufig spricht man bei Überladung überhaupt nicht von Polymorphie und der Satz von Amazonasmann, dass Polymorphie in direktem Zusammenhang mit Vererbung steht kann durchaus völlig richtig sein.
-
Kritiker schrieb:
Der Begriff "Polymorphie" ist einfach nicht eindeutig. Deshalb muss man sich vor endgültigen Aussagen hüten. Es kommt immer darauf an, wie Lehrer, Autoren, usw. den Begriff einführen und verwenden...
Das stimmt leider nur zu sehr. Siehe hierzu auch Diskussionen um andere Begriffe (Sei es nun Methode/Funktion, Datentypen, Deklaration...). Auch der Sprachgebrauch in unternehmen kann grundlegend Anders sein.
Das Problem ist nur, ist den Orginalposter die Wortdefinition seines Ausbildungsleiters wirklich klar?
cu André