Anmerkungen eines Anfängers zu C++
-
1. Warum muss man bei C++ immer erst fünf mal um das Haus rennen, bevor man zur Haustür rein darf.
2. Leute die es gewohnt sind um fünf Ecken zu denken, bringen die besten Voraussetzungen mit, C++ zu lernen (z.B. Juristen).
3. Ist C++ nicht im Ganzen Überladen, wie die überladenen Funktionen. Dieses nette Gimmick entspricht einem Schoko-, Himbeer-, Vanille-, Bananen-, ......Eisbecher auf den man nochmal viele bunte Smarties streut (wie in Amerika gesehen).
4. Wenn Windowsprogrammierung (ich meine das Betriebssystem) bzw. dessen Komponenten nur im entferntesten was mit C++ zu tun haben, müssen alle MS-Programmierer den Orden Held der Arbeit, um es mal im sozialistischen Jargon auszudrücken, bekommen, weil sie es geschafft haben, dass sich die Anzahl der Patches auf durchschnittlich 5-6 pro Monat beschränkt. Dieses Verstecken und dann doch wieder ein Hintertürchen offen zu halten, da kann man schon mal ein Hintertürchen vergessen.
5. Befinde(n)(t) sich die/der Entwickler wegen Verfolgungswahn in psychatrischer Behandlung, oder ist das Verstecken von Funktionen etc. nur ein Versuch sich einen exclusiven Bereich zu sichern, ähnlich dem der Elektriker, mit den VDE-Richtlinien.
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.
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.
Gruss Walter
PS. Auf Grund der unter Pkt. 2 gemachten Aussage, möchte ich ausdrücklich festhalten, dass die Anmerkungen ironisch gemeint sind und ich niemanden beleidigen wollte und ich hoffe, dass meine Fragen auch weiterhin im Forum beantwortet werden.
-
Walter_vdV schrieb:
1. Warum muss man bei C++ immer erst fünf mal um das Haus rennen, bevor man zur Haustür rein darf.
Nach einer längeren Zeit merkst du, dass du den Schlüssel in der anderen Hose hast und ziehst ab dann die an.
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.
Ne, wenn public dein Vorgarten ist, ist protected deine Bude und dein Tresor ist private.

-
Walter_vdV schrieb:
2. Leute die es gewohnt sind um fünf Ecken zu denken, bringen die besten Voraussetzungen mit, C++ zu lernen (z.B. Juristen).
Der Jurist denkt aber um fünf Ecken, ohne dass logisch begründbar ist, welche Ecke nun die richtige ist. 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.
-
GPC, ich wollte damit ausdrücken, dass im normalen Sprachgebrauch (auch im Englischen) protected in der Sicherheitshirarchie höher einzuordnen ist als private.
-
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.