Anmerkungen eines Anfängers zu C++
-
Ach so. Sorry, war mir nicht klar

-
byto schrieb:
Der Jurist denkt aber um fünf Ecken, ohne dass logisch begründbar ist, welche Ecke nun die richtige ist.
weil er die optimalste lösung sucht.
byto schrieb:
Der Informatiker denkt hingegen um fünf Ecken, um alle logischen Konsequenzen einer Problemlösung zu berücksichtigen.
Welche Sprache er dabei einsetzt, ist prinzipiell irrelevant.wer weiss. wenn er sprachen wie c++ einsetzt, muss er vielleicht die eine oder andere ecke mehr berücksichtigen...

-
Deine Anmerkungen sind reiserisch, und du hast keine Einzige davon begruendet. Haettest du das gemacht dann koennten wir dir jetzt den Sinn dahinter erklaeren, warum C++ die Dinge genau so macht, wie es sie macht. Denn es gibt fuer all die Quirks gute Gruende.
Abgesehen davon gibt es - genau wie bei Windows - sehr wohl gute Alternativen zu C++, wenn dir die Sprache zu umstaendlich ist.
-
Blue-Tiger schrieb:
Abgesehen davon gibt es - genau wie bei Windows - sehr wohl gute Alternativen zu C++, wenn dir die Sprache zu umstaendlich ist.
genau, also ab zurück zu den basic-kiddies
-
Walter_vdV schrieb:
GPC, ich wollte damit ausdrücken, dass im normalen Sprachgebrauch (auch im Englischen) protected in der Sicherheitshirarchie höher einzuordnen ist als private.
eigentlich nicht. ein bereich muss "protected" sein, wenn er anderen zugang gewährt, damit man ihnen auf die finger guckt, dass sie keinen unfug treiben.
zu "private" bereichen hat niemand zugang, da ist die tür einfach abgeschlossen. weshalb man auch kein wachpersonal ("protected") braucht.
-
Blue-Tiger schrieb:
Deine Anmerkungen sind reiserisch, und du hast keine Einzige davon begruendet.
a) ich hab's verstanden und fand es lustig
b) man kann jeden Witz und jede Ironie auch zu Tode reden
-
Walter_vdV schrieb:
3. Ist C++ nicht im Ganzen Überladen, wie die überladenen Funktionen.
Ob C++ überladen ist? Mag durchaus sein. C++ hat aber auch nie den Anspruch erhoben, domänenspezifisch zu sein. Und was du hier als Gimmick bezeichnest, hat sich in der Praxis durchaus als hilfreich erwiesen. Wie sagt ein bekannter Einrichtungsausstatter doch, "entdecke die Möglichkeiten".
Walter_vdV schrieb:
6. public, privat, protected im übertragenen Sinne: Mein Vorgarten, sofern er nicht eingezäunt ist, ist mehr oder weniger public. Privat ist mein Wohnbereich in dem Gäste willkommen sind. Protected ist mein Tresor, zu dem nur ich einen Zugang habe. In C++ haben Leute zu meinem Tresor Zugang obwohl sie gar nicht meine Gäste sind.
Nein, deine Logik passt nicht. Dein Denkfehler besteht darin, dass du deine Gäste als private siehst, nur weil sie sich in deinem Wohnbereich aufhalten. Das sind sie aber nicht. Die sind nur zu Besuch, also Aussenstehende. Wären sie private, würden sie dort wohnen und hätten damit die gleichen Rechte wie du, also auch Zugang zum Tresor.
Protected mag für dich vom Namen her vllt. etwas irreführend sein, denn private ist genauso "geschützt" wie protected. Nur dass private bedingungslos geschützt ist, protected nicht.
-
groovemaster schrieb:
Nein, deine Logik passt nicht. Dein Denkfehler besteht darin, dass du deine Gäste als private siehst, nur weil sie sich in deinem Wohnbereich aufhalten. Das sind sie aber nicht. Die sind nur zu Besuch, also Aussenstehende. Wären sie private, würden sie dort wohnen und hätten damit die gleichen Rechte wie du, also auch Zugang zum Tresor.
Protected mag für dich vom Namen her vllt. etwas irreführend sein, denn private ist genauso "geschützt" wie protected. Nur dass private bedingungslos geschützt ist, protected nicht.Jo, so is das in C++. Sprachlich nutzt man das aber trotzdem anders.
-
Walter_vdV schrieb:
6. public, privat, protected im übertragenen Sinne: Mein Vorgarten, sofern er nicht eingezäunt ist, ist mehr oder weniger public. Privat ist mein Wohnbereich in dem Gäste willkommen sind. Protected ist mein Tresor, zu dem nur ich einen Zugang habe. In C++ haben Leute zu meinem Tresor Zugang obwohl sie gar nicht meine Gäste sind. Diese Unlogik .........., Unlogik ???, na ja habe mich in letzter Zeit doch ein bisschen zu viel mit C++ beschäftigt.
Ich hab den Text so verstanden, das man seinen Freunden den Bereich zu privaten Gegenden erlaubt
class Foo { private: int x; friend void blaa(Foo& foo); } // blaa ist der Freund von Foo und somit kann es in den privaten Bereich void blaa(Foo& foo) { foo.x = 50; }Protected wäre dann die private Wohung, in die auch meine Kinder reinkönnen. Einen Tresor, bei dem nur ich Rechte hätte, gibt es in C++ nicht.
Walter_vdV schrieb:
7. Mangels adäquater Alternativen werde ich, ähnlich wie bei bei Windows, trotzdem bei C++ bleiben. Es ist immer noch besser nur von zehntausend anstatt von zwanzigtausend Bienen attackiert zu werden bevor man den begehrten Honig erhält.
Wie schon jemand gesagt hat, genau wie es zu Windows adäquater Alternativen gibt, gibt es auch zu C++ diese.
Ich fand des Text trotzdem witzig

-
Einen Tresor, bei dem nur ich Rechte hätte, gibt es in C++ nicht.
natürlich hast du den mit private.
friend kommt eher einem einbruch gleich :p
-
krabbels schrieb:
Einen Tresor, bei dem nur ich Rechte hätte, gibt es in C++ nicht.
natürlich hast du den mit private.
friend kommt eher einem einbruch gleich :pNein, mit "friend" gibst du jemandem die Tresor-Schlüssel. Einbruch wäre es, wenn jemand ohne deine Zustimmung an den Tresor-Inhalt kommt.
Und natürlich kannst du in C++ auch einen Tresor anlegen:
class Haus { private: class Tresor { private: int secret_data; friend class house; }; tresor mein_tresor; friend class Freund; };Die Klasse "Freund" darf zwar in mein Haus (protected-Bereich) und Wohnzimmer (private-Bereich), kommt aber nicht an den Tresor-Inhalt.
-
Mal im Ernst, arbeitet jemand von euch so richtig konsequent ersthaft mit public/private/protected ?

-
Cpp_Junky schrieb:
Mal im Ernst, arbeitet jemand von euch so richtig konsequent ersthaft mit public/private/protected ?

Ja.
-
Cpp_Junky schrieb:
Mal im Ernst, arbeitet jemand von euch so richtig konsequent ersthaft mit public/private/protected ?

ja, natürlich

-
Cpp_Junky schrieb:
Mal im Ernst, arbeitet jemand von euch so richtig konsequent ersthaft mit public/private/protected ?

Ja, wieso auch nicht?
-
protected verwende ich eher selten, aber sonst achte ich schon auf eine klare Trennung.
-
Cpp_Junky schrieb:
Mal im Ernst, arbeitet jemand von euch so richtig konsequent ersthaft mit public/private/protected ?

Ich will es jetzt einfach mal vorsetzen:
Klaro, was meinst du denn?@CStoll
Also für Vereerbungen ist protected ja das Paradies. Sobald ich starke Vereerbungstrukturen habe, dann findest du bei mir kaum noch eine private-Variable sondern nur noch protected.Und an den Threadstarter:
Lustiger Kerl du
Dir könnte man nicht einmal Java empfehlen, welches ja "einfacher" als C++ sein soll. Dir kann man nur empfehlen das Programmieren lieber sein zu lassen, denn diese "Probleme" gehören unteranderem zum Alltag eines Programmieres (mehr oder weniger ^^)
Des weiteren lernt man irgendwann, wie man die Probleme so anpackt, dass man nicht mal mehr ins Haus rein muss, sondern das Haus so bauen lässt, dass das Haus sich darum kümmert, dass du rein kommst ... *lol* ^^Grüssli
-
Also für Vereerbungen ist protected ja das Paradies. Sobald ich starke Vereerbungstrukturen habe, dann findest du bei mir kaum noch eine private-Variable sondern nur noch protected.
Du gibst deinen Kind-Klassen vollen Zugriff auf die Attribute der Eltern-Klasse? ohje...
-
Protected benutze ich nur für Methoden. Attribute dagegen IMMER private.
-
DEvent schrieb:
Du gibst deinen Kind-Klassen vollen Zugriff auf die Attribute der Eltern-Klasse? ohje...
Das habe ich nicht gesagt! Aber über protected kann man gewissen Zugriff weitergeben und das kann durchaus sehr oft sinnvoll sein. Übergibst du denn Kindklassen nie irgendwelchen Zugriff auf Attribute oder Methoden der Mutterklasse? Ohje...

Grüssli