<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[ist cout eine statische Klasse?]]></title><description><![CDATA[<p>cout kann ich ja einfach benutzen, ohne immer extra überall erst eine Instanz davon erzeugen zu müssen. Wie macht man so eine Klasse?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/325514/ist-cout-eine-statische-klasse</link><generator>RSS for Node</generator><lastBuildDate>Sun, 12 Jul 2026 14:26:54 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/325514.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 06 May 2014 09:17:49 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to ist cout eine statische Klasse? on Tue, 06 May 2014 09:17:49 GMT]]></title><description><![CDATA[<p>cout kann ich ja einfach benutzen, ohne immer extra überall erst eine Instanz davon erzeugen zu müssen. Wie macht man so eine Klasse?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2397625</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2397625</guid><dc:creator><![CDATA[staticClass]]></dc:creator><pubDate>Tue, 06 May 2014 09:17:49 GMT</pubDate></item><item><title><![CDATA[Reply to ist cout eine statische Klasse? on Tue, 06 May 2014 09:20:39 GMT]]></title><description><![CDATA[<p>std::cout ist keine Klasse, sondern ein (globales) Objekt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2397627</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2397627</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Tue, 06 May 2014 09:20:39 GMT</pubDate></item><item><title><![CDATA[Reply to ist cout eine statische Klasse? on Tue, 06 May 2014 09:22:08 GMT]]></title><description><![CDATA[<p>Es gibt keine statischen Klassen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2397628</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2397628</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 06 May 2014 09:22:08 GMT</pubDate></item><item><title><![CDATA[Reply to ist cout eine statische Klasse? on Tue, 06 May 2014 12:12:16 GMT]]></title><description><![CDATA[<p>Meine Güte, erstens gibt es statische Klassen(C# Zum Beispiel) und zweitens sind es dann halt in C++ Klassen mit statischen Membern und statischen Methoden. Genau wie man auch sagen kann, dass Klassen mit rein virtuellen Methode als Schnittstellen zu sehen sind und da man immer gegen Schnittstellen programmieren soll, kann man den Begriff auch nehmen.</p>
<p>Bist wohl Bürokrat durch und durch und ein Beamten-Fan.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2397641</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2397641</guid><dc:creator><![CDATA[CppStatic]]></dc:creator><pubDate>Tue, 06 May 2014 12:12:16 GMT</pubDate></item><item><title><![CDATA[Reply to ist cout eine statische Klasse? on Tue, 06 May 2014 12:20:51 GMT]]></title><description><![CDATA[<p>CppStatic schrieb:</p>
<blockquote>
<p>Meine Güte, erstens gibt es statische Klassen(C# Zum Beispiel)</p>
</blockquote>
<p>Und in welchem Forum sind wir hier?</p>
<p>CppStatic schrieb:</p>
<blockquote>
<p>Meine Güte [...] Bist wohl Bürokrat durch und durch und ein Beamten-Fan.</p>
</blockquote>
<p>Kein Grund persönlich zu werden, ich wollte nur Missverständnisse vermeiden. &quot;Statische Klasse&quot; ist in C++ definitiv kein Begriff, dessen Bedeutung ohne weitere Erklärung klar ist. Vage Interpretationen wie deine sind zudem mit ein Grund, warum so viele Konzepte in C++ falsch verstanden werden (z.B. &quot;Arrays sind Zeiger&quot;, &quot;konstante Referenzen&quot;, ...).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2397644</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2397644</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 06 May 2014 12:20:51 GMT</pubDate></item><item><title><![CDATA[Reply to ist cout eine statische Klasse? on Tue, 06 May 2014 12:49:04 GMT]]></title><description><![CDATA[<p>Dann schreib: &quot;In C++ gibt es keine statischen Klassen&quot;. Deine Aussage: &quot;Es gibt keine statischen Klassen&quot; auch wenn sie im Unterforum von C++ geschirben wird, ist schlicht weg falsch. Da gibt es auch keine Spielraum, das ist Aussagelogik.</p>
<p>Ok, dann nenne mir einen anderen Begriff für C++-Klassen mit komplett statischen Membern und Funktionen der besser passt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2397655</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2397655</guid><dc:creator><![CDATA[StaticCpp]]></dc:creator><pubDate>Tue, 06 May 2014 12:49:04 GMT</pubDate></item><item><title><![CDATA[Reply to ist cout eine statische Klasse? on Tue, 06 May 2014 12:54:27 GMT]]></title><description><![CDATA[<p>StaticCpp schrieb:</p>
<blockquote>
<p>&quot;Es gibt keine statischen Klassen&quot; auch wenn sie im Unterforum von C++ geschirben wird, ist schlicht weg falsch</p>
</blockquote>
<p>Du bist unfähig den Kontext zu berücksichtigen, aber nennst mich Bürokrat. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
<p>StaticCpp schrieb:</p>
<blockquote>
<p>Ok, dann nenne mir einen anderen Begriff für C++-Klassen mit komplett statischen Membern und Funktionen der besser passt.</p>
</blockquote>
<p>Es gibt keinen. Es gibt in C++ wenige Gründe, Klassen nur mit statischen Membern zu füllen, wir haben dafür Namensräume.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2397659</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2397659</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 06 May 2014 12:54:27 GMT</pubDate></item><item><title><![CDATA[Reply to ist cout eine statische Klasse? on Tue, 06 May 2014 12:56:57 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>...</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2397660</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2397660</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Tue, 06 May 2014 12:56:57 GMT</pubDate></item><item><title><![CDATA[Reply to ist cout eine statische Klasse? on Tue, 06 May 2014 13:16:22 GMT]]></title><description><![CDATA[<p>Neulich sprach einer von virtuellen Klassen. Da hab ich mich gefragt, was das sein soll.</p>
<p>Mit virtueller Vererbung reingeerbt? Nee, das hat gar nicht gepaßt.</p>
<p>Per bedingtem #include Klasseninhalte in eine Gottklasse einfügen und die Inhalte sind quasi Klassen aber doch keine, also virtuell? Nee, hat auch nicht gepaßt.</p>
<p>Haha! Am Ende meinte er damit nur Klassen, die eine virtuelle Funktion haben.</p>
<p>Also lassen wir mal die statischen Klassen weg, das macht nur Bauchweh.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2397667</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2397667</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Tue, 06 May 2014 13:16:22 GMT</pubDate></item><item><title><![CDATA[Reply to ist cout eine statische Klasse? on Tue, 06 May 2014 13:22:42 GMT]]></title><description><![CDATA[<p>StaticCpp schrieb:</p>
<blockquote>
<p>Dann schreib: &quot;In C++ gibt es keine statischen Klassen&quot;. Deine Aussage: &quot;Es gibt keine statischen Klassen&quot; auch wenn sie im Unterforum von C++ geschirben wird, ist schlicht weg falsch. Da gibt es auch keine Spielraum, das ist Aussagelogik.</p>
<p>Ok, dann nenne mir einen anderen Begriff für C++-Klassen mit komplett statischen Membern und Funktionen der besser passt.</p>
</blockquote>
<p>Ich würde so eine Klasse einen Designfehler nennen. Welchem Sinn dient eine Klasse, deren Instantiierung keinen Sinn macht? Solche Klassen sind in Sprachen üblich, die keine freien Funktionen kennen. In C++ würde man eher Funktionen in einem namespace implementieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2397670</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2397670</guid><dc:creator><![CDATA[tntnet]]></dc:creator><pubDate>Tue, 06 May 2014 13:22:42 GMT</pubDate></item><item><title><![CDATA[Reply to ist cout eine statische Klasse? on Tue, 06 May 2014 16:32:19 GMT]]></title><description><![CDATA[<p>Welchen Sinn statische Klassen machen? Na, wenn man im gesamten Projekt eh nur eine Instanz braucht, aber trotzdem Kapseln will. Einmal global instanzieren und dann noch mit Singleton wäre der schlechte Weg, der schöne ist dann einfach eine statische Klasse zu nehmen.</p>
<p>Mir kommt es langsam so vor, als wenn einige C++ler hier selten über den Tellerrand schauen und OOP wirklich nur von C++ her kennen und den Rest mit einer riesen Ignoranz gegenübertreten und es als Kindersprachen etc. abtun. Es gibt schon gute Gründe für statische Klassen und dem Programmieren gegen Schnittstellen, sonst hätte viele OOP-Sprachen das gar nicht eingebaut.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2397717</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2397717</guid><dc:creator><![CDATA[OOOOOOOOPPPPP]]></dc:creator><pubDate>Tue, 06 May 2014 16:32:19 GMT</pubDate></item><item><title><![CDATA[Reply to ist cout eine statische Klasse? on Tue, 06 May 2014 17:03:51 GMT]]></title><description><![CDATA[<p>OOOOOOOOPPPPP schrieb:</p>
<blockquote>
<p>Welchen Sinn statische Klassen machen? Na, wenn man im gesamten Projekt eh nur eine Instanz braucht, aber trotzdem Kapseln will. Einmal global instanzieren und dann noch mit Singleton wäre der schlechte Weg, der schöne ist dann einfach eine statische Klasse zu nehmen.</p>
</blockquote>
<p>Du gehst immer noch nicht auf das Argument Namensraum ein, mit dem man das gleiche auf elegantere Weise lösen kann. Zudem wird ein Singleton oft eingesetzt, um den Instantiierungs- und teilweise auch den Zerstörungszeitpunkt festlegen, also die Semantik &quot;erstelle bei erstem Benutzen, sonst nie&quot;. Ganz davon abgesehen, dass sowohl Singletons als auch globale Instanzen in sehr vielen Situationen nicht ideal, sondern nur bequem sind, und in durchdachten Designs oft wegfallen.</p>
<p>OOOOOOOOPPPPP schrieb:</p>
<blockquote>
<p>Mir kommt es langsam so vor, als wenn einige C++ler hier selten über den Tellerrand schauen und OOP wirklich nur von C++ her kennen und den Rest mit einer riesen Ignoranz gegenübertreten und es als Kindersprachen etc. abtun.</p>
</blockquote>
<p>Und du kommst mir so vor, als würdest du OOP als <em><strong>das</strong></em> Paradigma ansehen und als Massstab für alle anderen Dinge nehmen. Dass du Namensräume ignorierst und deine ganze Argumentation auf Parolen wie &quot;gegen Schnittstellen programmieren&quot; und &quot;andere Sprachen machen das auch&quot; aufbaust, bestärkt diesen Eindruck zusätzlich. C++-Programmierer sind üblicherweise recht offen, weil die Programmiersprache selbst verschiedene Paradigmen anbietet und keinen Programmierstil vorschreibt. Statische Klassen gibts nur nicht, weil sie keine zusätzliche Funktionalität bringen, genau wie Java-Interfaces.</p>
<p>Davon abgesehen hat niemand über andere Sprachen gelästert. Wir versuchen nur, zu erklären, warum statische Klassen von C# in C++ sehr selten Sinn machen.</p>
<p>OOOOOOOOPPPPP schrieb:</p>
<blockquote>
<p>Es gibt schon gute Gründe für statische Klassen und dem Programmieren gegen Schnittstellen, sonst hätte viele OOP-Sprachen das gar nicht eingebaut.</p>
</blockquote>
<p>Keine Ahnung, was das Programmieren gegen Schnittstellen damit zu tun hat. Schnittstellen kannst du auch ohne Klassen haben, aber dafür müsstest du von dem OOP-Dogma wegkommen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2397722</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2397722</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 06 May 2014 17:03:51 GMT</pubDate></item><item><title><![CDATA[Reply to ist cout eine statische Klasse? on Tue, 06 May 2014 16:55:59 GMT]]></title><description><![CDATA[<p>Ich wollte ursprünglich auch antworten, aber Nexus Antwort ist nichts mehr hinzuzufügen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2397724</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2397724</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Tue, 06 May 2014 16:55:59 GMT</pubDate></item><item><title><![CDATA[Reply to ist cout eine statische Klasse? on Tue, 06 May 2014 18:16:00 GMT]]></title><description><![CDATA[<p>Nur weil etwas selten Sinn macht, wird es nicht in C++ eingebaut? Wo du solche Logik her nimmst ist mir aber auch schleierhaft. Ich denke es wird viel in C++ geben was eher selten gebraucht wird.</p>
<p>Schnittstellen sind deswegen in anderen OOP-Sprachen drin, weil man damit Mehrfachvererbung vermeiden kann(Diamant-Problem etc.)</p>
<p>Andere Programmiersprachen sind ja nicht so erfolgreich, weil C++ alles so gut macht. Eierlegende Wollmilchsäue sind immer zu meiden, wenn es spezialisierte Werkzeuge gibt, die einem das Leben einfacher machen. Und so ist es schließlich ja auch gekommen, wenn man für was C#, Java, Python, PHP etc. anstelle von C++ nehmen kann macht man dies natürlich und das nicht ohne Grund.</p>
<p>Ich gebe zu von C++ noch nicht viel Ahnung zu haben. Ich sehe C++ halt als die absolute Herausforderung, weil es keine kompliziertere Programmiersprache gibt, nirgends werden einen solche Stolpersteine beim Entwickeln in den Weg gelegt. Nirgends ist die Lernkurve so krass. Das ist wie Auto fahren wo man sogar die Einspritzung manuell per Regler einstellen muss. Die einen sehen dies als den ultimativen Vorteil, die anderen wollen einfach nur so gut wie möglich von A nach B kommen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2397742</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2397742</guid><dc:creator><![CDATA[OOOOOOOOP]]></dc:creator><pubDate>Tue, 06 May 2014 18:16:00 GMT</pubDate></item><item><title><![CDATA[Reply to ist cout eine statische Klasse? on Tue, 06 May 2014 18:28:03 GMT]]></title><description><![CDATA[<p>An Mehrfachvererbung ist erstmal ueberhaupt nichts boese und das Diamantproblem (das in maenchen Faellen sogar erwuenscht sein kann btw) tritt nur auf, wenn man sich besonders dumm anstellt. Immer die selbe von Java/C#-Marketingspruechen gezeichnete, gequirlte Kacke. &quot;Oh wir sind so toll, bei uns kann das Diamantproblem nicht auftreten!&quot; - Anstatt es einfach zur Compilezeit zu verbieten, hat man gleich Mehrfachvererbung verboten. Kein Wunder, dass solche Leute nur schreckliches C++ produzieren.</p>
<p>Zum Rest nehme ich nicht Stellung, dazu enthaelt mir der Post zu viel Blahblah.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2397745</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2397745</guid><dc:creator><![CDATA[Kellerautomat]]></dc:creator><pubDate>Tue, 06 May 2014 18:28:03 GMT</pubDate></item><item><title><![CDATA[Reply to ist cout eine statische Klasse? on Tue, 06 May 2014 18:45:08 GMT]]></title><description><![CDATA[<p>OOOOOOOOP schrieb:</p>
<blockquote>
<p>Das ist wie Auto fahren wo man sogar die Einspritzung manuell per Regler einstellen muss. Die einen sehen dies als den ultimativen Vorteil, die anderen wollen einfach nur so gut wie möglich von A nach B kommen.</p>
</blockquote>
<p>Es gibt da ein Wort wobei ich wiedersprechen würde. Man <strong>muss</strong> in C++ die Einspritzung nicht per Regler einstellen, die ist von Hause aus auf einen sinnvollen Wert eingestellt. Es gilt als guter Stil den Regler nicht anzufassen wenn man ihn nicht unbedingt braucht.</p>
<p>Auf deine Situation angewendet: Wenn du eine Klasse willst, die nur statische Funktionen hat, dann schreib sie halt. Ich habe sowas auch schon gebraucht, weil Namensräume nicht gereicht haben, weil man in Namensräumen kein private hat. Später habe ich dann festgestellt, dass anonyme Namensräume das Problem besser lösen.</p>
<p>C++ hat als Grundprinzip, dass der Programmierer tun kann wie er lustig ist. Es gibt Hilfen, die verhindern sollen, dass man sich versehentlich vertut, aber wenn man will kann man praktisch alles aushebeln, was es an Sicherheitsmechanismen gibt. Mit steigender Erfahrung stellt man aber fest, dass es sich im Nachhinein als schlecht heraus stellt, wenn man es tut. Deshalb wettern die Leute hier, dass static Klassen Blödsinn sind, weil es dafür bessere Möglichkeiten gibt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2397748</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2397748</guid><dc:creator><![CDATA[nwp3]]></dc:creator><pubDate>Tue, 06 May 2014 18:45:08 GMT</pubDate></item><item><title><![CDATA[Reply to ist cout eine statische Klasse? on Tue, 06 May 2014 19:02:02 GMT]]></title><description><![CDATA[<p>OOOOOOOOP schrieb:</p>
<blockquote>
<p>Nur weil etwas selten Sinn macht, wird es nicht in C++ eingebaut? Wo du solche Logik her nimmst ist mir aber auch schleierhaft. Ich denke es wird viel in C++ geben was eher selten gebraucht wird.</p>
</blockquote>
<p>selten Sinn machen != selten gebraucht werden<br />
Und wie schon öfters gesagt, statische Klassen sind C++ Namespaces, nur die Aufrufsyntax ist anders.</p>
<blockquote>
<p>Schnittstellen sind deswegen in anderen OOP-Sprachen drin, weil man damit Mehrfachvererbung vermeiden kann(Diamant-Problem etc.</p>
</blockquote>
<p>Es gibt auch so etwas wie Schnittstellen in C++: Klassen, die nur pure virtuelle Funktionen haben. Das SIND Schnittstellen.</p>
<blockquote>
<p>Andere Programmiersprachen sind ja nicht so erfolgreich, weil C++ alles so gut macht. Eierlegende Wollmilchsäue sind immer zu meiden, wenn es spezialisierte Werkzeuge gibt, die einem das Leben einfacher machen. Und so ist es schließlich ja auch gekommen, wenn man für was C#, Java, Python, PHP etc. anstelle von C++ nehmen kann macht man dies natürlich und das nicht ohne Grund.</p>
</blockquote>
<p>Jede Programmiersprache, die turing complete ist, ist eine Eierlegende Wollmilchsau. Und C# und Java sind imo genauso allgemein wie C++, da man damit auch so gut wie alles programmieren kann. Python und PHP sind spezialisierte Werkzeuge, aber nicht C# oder Java.<br />
Und das Blöde an C# und Java ist halt: Die Sprache ist auf OOP ausgelegt. Nicht-OOP zu machen ist genauso blöd wie OOP in C. Es ist möglich, aber aufwendig. In C++ kann man so programmieren wie man möchte. Das ist das tolle daran. Du willst OOP? Kein Ding: Vererbung, Interfaces und dynamische Polymorhpie. Du willst prozedural? Kein Ding: Keiner zwingt dich irgendeine Klasse zu nutzen. Du willst funktional? Kein Ding.<br />
Aber wirklich ausnutzen nutzt man die Sprache nur, wenn man all diese Dinge vereint. Ja, dazu muss man alle Features beherrschen. Aber wenn man es kann, macht es richtig Spaß darin zu programmieren. Dann merkt man richtig, wie gut die einzelnen Features ineinander greifen und wie toll diese komplexen Regeln doch sind.</p>
<blockquote>
<p>Ich gebe zu von C++ noch nicht viel Ahnung zu haben. Ich sehe C++ halt als die absolute Herausforderung, weil es keine kompliziertere Programmiersprache gibt, nirgends werden einen solche Stolpersteine beim Entwickeln in den Weg gelegt.</p>
</blockquote>
<p>Wenn du versuchst, wie in C zu programmieren ohne Destruktoren und Klassen aus der Standardbibliothek, dan ja.</p>
<blockquote>
<p>Nirgends ist die Lernkurve so krass.</p>
</blockquote>
<p>C++ hat ein Imageproblem. Mit einem guten Tutorial, was die Container etc. nutzt, ist die Lernkurve nicht so krass. Gut, die virtuelle Funktionsüberschreibung in Mehrfachvererbung ist kompliziert, die Name Lookup Rules in Templates mit Vererbung sind bescheuert und die Konversionregeln komplex, aber ansonsten...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2397750</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2397750</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Tue, 06 May 2014 19:02:02 GMT</pubDate></item><item><title><![CDATA[Reply to ist cout eine statische Klasse? on Tue, 06 May 2014 19:12:50 GMT]]></title><description><![CDATA[<blockquote>
<p>Klassen, die nur pure virtuelle Funktionen haben.</p>
</blockquote>
<p>Nein, Klassen die mindestens <em>eine</em> pur virtuelle Funktion haben. Das sind dann abstrakte Basisklassen, oder eben Schnittstellen.</p>
<blockquote>
<p>die Name Lookup Rules in Templates mit Vererbung sind bescheuert</p>
</blockquote>
<p>Wieso sind die bitte <strong>bescheuert</strong>? Wovon redest du da!? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2397752</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2397752</guid><dc:creator><![CDATA[Columbo]]></dc:creator><pubDate>Tue, 06 May 2014 19:12:50 GMT</pubDate></item><item><title><![CDATA[Reply to ist cout eine statische Klasse? on Tue, 06 May 2014 19:32:45 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/29873">@Nathan</a>: Man kann und sollte(!) in C auch sehr gut OOP machen. Die Sprache kommt einem bloß nicht mit direkter Unterstützung direkt entgegen. C ist viel größer und besser, als einem die kleinen Beispielprogramme in Programmierhandbüchern vorgaukeln.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2397754</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2397754</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 06 May 2014 19:32:45 GMT</pubDate></item><item><title><![CDATA[Reply to ist cout eine statische Klasse? on Tue, 06 May 2014 19:49:39 GMT]]></title><description><![CDATA[<p>Arcoth schrieb:</p>
<blockquote>
<blockquote>
<p>Klassen, die nur pure virtuelle Funktionen haben.</p>
</blockquote>
<p>Nein, Klassen die mindestens <em>eine</em> pur virtuelle Funktion haben. Das sind dann abstrakte Basisklassen, oder eben Schnittstellen.</p>
</blockquote>
<p>AFAIK haben Interfaces in Java und Co auch nur pure virtuelle Funktionen oder irre ich mich?</p>
<blockquote>
<blockquote>
<p>die Name Lookup Rules in Templates mit Vererbung sind bescheuert</p>
</blockquote>
<p>Wieso sind die bitte <strong>bescheuert</strong>? Wovon redest du da!? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
</blockquote>
<p>kkaw schrieb:</p>
<blockquote>
<p>Aktuelles Beispiel:</p>
<pre><code class="language-cpp">typedef typename soundso&lt;T&gt;::template foo&lt;T&gt; blah_t;
</code></pre>
<p>Dass man manchmal &quot;typename&quot; und &quot;template&quot; in solchen Fällen braucht, ist halt peinlich.</p>
</blockquote>
<p>Ist das schön? Und in Vererbung kommt da dann noch ein this-&gt; bzw. BaseClass:: vor.</p>
<p>SeppJ schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/29873">@Nathan</a>: Man kann und sollte(!) in C auch sehr gut OOP machen. Die Sprache kommt einem bloß nicht mit direkter Unterstützung direkt entgegen. C ist viel größer und besser, als einem die kleinen Beispielprogramme in Programmierhandbüchern vorgaukeln.</p>
</blockquote>
<p>Genau das meinte ich: Die Sprache kommt nicht mit direkter Unterstützung entgegen. Deshalb muss man in C Destruktoren, Vererbung, virtuelle Funktion, Kapselung etc. ziemlich umständlich implementieren. Und in Java/C# sind das eben die freien Funktionen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2397758</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2397758</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Tue, 06 May 2014 19:49:39 GMT</pubDate></item><item><title><![CDATA[Reply to ist cout eine statische Klasse? on Tue, 06 May 2014 20:19:50 GMT]]></title><description><![CDATA[<blockquote>
<p>Ist das schön?</p>
</blockquote>
<p>Darum geht es nicht.<br />
Sie sind nicht nicht bescheuert, sondern eine voll funktionsfähige Methode, die Ambiguitäts-Probleme zu lösen.</p>
<p>Unter bescheuert verstünde ich folgendes: Überhaupt nicht intuitiv, extrem schwer zu erlernen - Compiler implementieren es dank der vielen komplizierten Regeln meistens im Detail unterschiedlich bzw. falsch, es ließe sich leicht zu einem viel besseren System umändern, usw.<br />
~Edit: Das ist doch nicht etwa eine Liste, die Templates heutzutage ausmacht, oder?~</p>
<p><code>typename</code> vor abhängige Namen zu schreiben ist leicht zu erlernen - jeder Anfänger tut das mittlerweile nachdem er die Regel kennt.<br />
Der Rest ist ebenfalls einfach eine Regel die man sich einmal merken muss, und nicht merkbar komplizierter. Es gibt auch relativ wenig Inkonsistenz oder Ausnahmen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2397763</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2397763</guid><dc:creator><![CDATA[Columbo]]></dc:creator><pubDate>Tue, 06 May 2014 20:19:50 GMT</pubDate></item><item><title><![CDATA[Reply to ist cout eine statische Klasse? on Tue, 06 May 2014 20:27:31 GMT]]></title><description><![CDATA[<p>Arcoth schrieb:</p>
<blockquote>
<p><code>typename</code> vor abhängige Namen zu schreiben ist leicht zu erlernen - jeder Anfänger tut das mittlerweile nachdem er die Regel kennt.</p>
</blockquote>
<p>Und dann kommt noch template dazu, und wie ist das eigentlich mit Alias Templates?<br />
Selbst wenn die Regeln einfach waeren - was sie nicht sind - ist es trotzdem eine Schnapsidee.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2397764</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2397764</guid><dc:creator><![CDATA[Kellerautomat]]></dc:creator><pubDate>Tue, 06 May 2014 20:27:31 GMT</pubDate></item><item><title><![CDATA[Reply to ist cout eine statische Klasse? on Tue, 06 May 2014 20:32:50 GMT]]></title><description><![CDATA[<blockquote>
<p>Und dann kommt noch template dazu</p>
</blockquote>
<p>Trivial.</p>
<blockquote>
<p>, und wie ist das eigentlich mit Alias Templates?</p>
</blockquote>
<p>Beziehst du dich auf <a href="http://www.c-plusplus.net/forum/324703-full" rel="nofollow">diesen</a> Thread?</p>
<p>Nur um das gleich klarzustellen: Ja, es ist halt nicht ganz einfach, das ist recht offensichtlich. Aber ihr übertreibt alle ein wenig, findet ihr nicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2397766</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2397766</guid><dc:creator><![CDATA[Columbo]]></dc:creator><pubDate>Tue, 06 May 2014 20:32:50 GMT</pubDate></item><item><title><![CDATA[Reply to ist cout eine statische Klasse? on Tue, 06 May 2014 20:35:38 GMT]]></title><description><![CDATA[<p><a href="http://www.c-plusplus.net/forum/325410" rel="nofollow">http://www.c-plusplus.net/forum/325410</a><br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2397768</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2397768</guid><dc:creator><![CDATA[Kellerautomat]]></dc:creator><pubDate>Tue, 06 May 2014 20:35:38 GMT</pubDate></item><item><title><![CDATA[Reply to ist cout eine statische Klasse? on Tue, 06 May 2014 20:37:23 GMT]]></title><description><![CDATA[<p>Arcoth schrieb:</p>
<blockquote>
<p>Aber ihr übertreibt alle ein wenig, findet ihr nicht?</p>
</blockquote>
<p>Nein. In der Begeisterung über gewisse Möglichkeiten tendiert man dazu, Unschönheiten zu verharmlosen. Manchmal erkennt man die Tragweite auch erst, wenn man sieht, wie es anderswo viel einfacher geht.</p>
<p>C++ hat durchaus seine Probleme. Und nicht wenige. Dazu sollte man stehen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2397769</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2397769</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 06 May 2014 20:37:23 GMT</pubDate></item><item><title><![CDATA[Reply to ist cout eine statische Klasse? on Tue, 06 May 2014 20:42:59 GMT]]></title><description><![CDATA[<p>staticClass schrieb:</p>
<blockquote>
<p>cout kann ich ja einfach benutzen, ohne immer extra überall erst eine Instanz davon erzeugen zu müssen. Wie macht man so eine Klasse?</p>
</blockquote>
<p>cout ist eine Instanz von ofstream:<br />
Die Deklaration findest du in der Form: <strong>extern ostream cout;</strong></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2397770</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2397770</guid><dc:creator><![CDATA[cacscdfdfs]]></dc:creator><pubDate>Tue, 06 May 2014 20:42:59 GMT</pubDate></item></channel></rss>