<?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[Frage bezüglich Code Design]]></title><description><![CDATA[<p>Hallo was ist hier besser class oder struct?<br />
Ich tendiere irgendwie zu struct den wenn ich das Wort class höre denke ich erstmal an viele Funktionen.</p>
<p>Struktur scheint mir hier irgendwie passender zu sein, was meint ihr?</p>
<pre><code class="language-cpp">struct date {
string day;
string month;
string year;
};
</code></pre>
<pre><code class="language-cpp">class date
{
string day;
string month;
string year;
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/306774/frage-bezüglich-code-design</link><generator>RSS for Node</generator><lastBuildDate>Fri, 07 Aug 2026 07:49:08 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/306774.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 07 Aug 2012 09:34:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage bezüglich Code Design on Tue, 07 Aug 2012 09:34:24 GMT]]></title><description><![CDATA[<p>Hallo was ist hier besser class oder struct?<br />
Ich tendiere irgendwie zu struct den wenn ich das Wort class höre denke ich erstmal an viele Funktionen.</p>
<p>Struktur scheint mir hier irgendwie passender zu sein, was meint ihr?</p>
<pre><code class="language-cpp">struct date {
string day;
string month;
string year;
};
</code></pre>
<pre><code class="language-cpp">class date
{
string day;
string month;
string year;
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2239547</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2239547</guid><dc:creator><![CDATA[DateStruct]]></dc:creator><pubDate>Tue, 07 Aug 2012 09:34:24 GMT</pubDate></item><item><title><![CDATA[Reply to Frage bezüglich Code Design on Tue, 07 Aug 2012 09:40:55 GMT]]></title><description><![CDATA[<p>Der einzige Unterschied: struct-Member sind per default public, class-Member sind private. Da du direkt auf die Member zugreifen willst, empfiehlt sich hier struct. Dann musst du die Member nicht explizit public machen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2239549</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2239549</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Tue, 07 Aug 2012 09:40:55 GMT</pubDate></item><item><title><![CDATA[Reply to Frage bezüglich Code Design on Tue, 07 Aug 2012 09:54:35 GMT]]></title><description><![CDATA[<p>Bei vielen Leuten ist es Konvention, bei &quot;richtigen&quot; Klassen (d.h. private Member, Methoden, ...) class zu benutzen und bei &quot;Datenpäckchen&quot; wie deinem, Funktoren, Traits, Policies und dem ganzen TMP-Krempel struct zu benutzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2239555</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2239555</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 07 Aug 2012 09:54:35 GMT</pubDate></item><item><title><![CDATA[Reply to Frage bezüglich Code Design on Tue, 07 Aug 2012 19:43:02 GMT]]></title><description><![CDATA[<p>Wenn du keine Vererbung/Operator-Überladung und praktisch nur eine Kapselung nutzen willst, reicht struct.<br />
Auch sind signifikantere Namen als deine für ein class/struct sinnvoll.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2239806</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2239806</guid><dc:creator><![CDATA[Wutz]]></dc:creator><pubDate>Tue, 07 Aug 2012 19:43:02 GMT</pubDate></item><item><title><![CDATA[Reply to Frage bezüglich Code Design on Tue, 07 Aug 2012 19:47:18 GMT]]></title><description><![CDATA[<p>Wutz schrieb:</p>
<blockquote>
<p>Wenn du keine Vererbung/Operator-Überladung und praktisch nur eine Kapselung nutzen willst, reicht struct.</p>
</blockquote>
<p>Was hat denn das mit <code>class &lt;-&gt; struct</code> zu tun?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2239808</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2239808</guid><dc:creator><![CDATA[Caligulaminus]]></dc:creator><pubDate>Tue, 07 Aug 2012 19:47:18 GMT</pubDate></item><item><title><![CDATA[Reply to Frage bezüglich Code Design on Tue, 07 Aug 2012 20:11:43 GMT]]></title><description><![CDATA[<p>_matze schrieb:</p>
<blockquote>
<p>Der einzige Unterschied: struct-Member sind per default public, class-Member sind private.</p>
</blockquote>
<p>Das ist nicht der einzige Unterschied.</p>
<p>Ich benutze immer <code>struct</code> , weil öffentliche Vererbung viel häufiger ist als private und weil öffentliche Member an den Anfang der Klassendefinition gehören. Für die, die schwer von Begriff sind: Das spart pro Klasse eine Zeile ( <code>public:</code> ) und ein weiteres <code>public</code> vor den Vaterklassen.</p>
<p>Beides im selben Projekt zu verwenden ist Quatsch, weil man dann bei jeder Vorwärtsdeklaration einer Klasse nachsehen muss, ob sie als <code>struct</code> oder <code>class</code> definiert wird.</p>
<p>Und jetzt heult mich damit voll, dass <code>class</code> für den Leser ja so viel verständlicher und OOP-mäßiger ist, weil es man das in Java und C# auch so schreibt. Oder weil <code>struct</code> in C weniger kann als in C++.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2239813</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2239813</guid><dc:creator><![CDATA[TyRoXx]]></dc:creator><pubDate>Tue, 07 Aug 2012 20:11:43 GMT</pubDate></item><item><title><![CDATA[Reply to Frage bezüglich Code Design on Tue, 07 Aug 2012 20:02:46 GMT]]></title><description><![CDATA[<p>TyRoXx schrieb:</p>
<blockquote>
<p>Das spart pro Klasse eine Zeile ( <code>public:</code> ) und ein weiteres <code>public</code> vor den Vaterklassen.</p>
</blockquote>
<p>Ich lach mich tot. Du machst prinzipielle Designentscheidungen abhängig von der &quot;Einsparung&quot; einer Codezeile bzw. sogar eines Wortes.<br />
Naja, wer nicht will, der hat schon.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2239814</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2239814</guid><dc:creator><![CDATA[Wutz]]></dc:creator><pubDate>Tue, 07 Aug 2012 20:02:46 GMT</pubDate></item><item><title><![CDATA[Reply to Frage bezüglich Code Design on Tue, 07 Aug 2012 20:05:20 GMT]]></title><description><![CDATA[<p>Caligulaminus schrieb:</p>
<blockquote>
<p>Was hat denn das mit <code>class &lt;-&gt; struct</code> zu tun?</p>
</blockquote>
<p>Weil eine (Klassen)Hierarchie ohne access level und nur mit default-public sinnfrei ist, s.o.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2239816</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2239816</guid><dc:creator><![CDATA[Wutz]]></dc:creator><pubDate>Tue, 07 Aug 2012 20:05:20 GMT</pubDate></item><item><title><![CDATA[Reply to Frage bezüglich Code Design on Tue, 07 Aug 2012 20:07:35 GMT]]></title><description><![CDATA[<p>Wutz schrieb:</p>
<blockquote>
<p>TyRoXx schrieb:</p>
<blockquote>
<p>Das spart pro Klasse eine Zeile ( <code>public:</code> ) und ein weiteres <code>public</code> vor den Vaterklassen.</p>
</blockquote>
<p>Ich lach mich tot. Du machst prinzipielle Designentscheidungen abhängig von der &quot;Einsparung&quot; einer Codezeile bzw. sogar eines Wortes.<br />
Naja, wer nicht will, der hat schon.</p>
</blockquote>
<p>WTF?</p>
<p>Wutz schrieb:</p>
<blockquote>
<p>Caligulaminus schrieb:</p>
<blockquote>
<p>Was hat denn das mit <code>class &lt;-&gt; struct</code> zu tun?</p>
</blockquote>
<p>Weil eine (Klassen)Hierarchie ohne access level und nur mit default-public sinnfrei ist, s.o.</p>
</blockquote>
<p>OK, du hast einfach keine Ahnung. Lern bitte die Klassensyntax von C++ und komm dann wieder.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2239819</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2239819</guid><dc:creator><![CDATA[TyRoXx]]></dc:creator><pubDate>Tue, 07 Aug 2012 20:07:35 GMT</pubDate></item><item><title><![CDATA[Reply to Frage bezüglich Code Design on Tue, 07 Aug 2012 20:12:21 GMT]]></title><description><![CDATA[<p>Wutz schrieb:</p>
<blockquote>
<p>Weil eine (Klassen)Hierarchie ohne <strong>access level</strong> und <strong>nur mit</strong> default-public sinnfrei ist, s.o.</p>
</blockquote>
<p>???</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2239820</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2239820</guid><dc:creator><![CDATA[Caligulaminus]]></dc:creator><pubDate>Tue, 07 Aug 2012 20:12:21 GMT</pubDate></item><item><title><![CDATA[Reply to Frage bezüglich Code Design on Tue, 07 Aug 2012 20:54:21 GMT]]></title><description><![CDATA[<p>TyRoXx schrieb:</p>
<blockquote>
<p>_matze schrieb:</p>
<blockquote>
<p>Der einzige Unterschied: struct-Member sind per default public, class-Member sind private.</p>
</blockquote>
<p>Das ist nicht der einzige Unterschied.</p>
<p>Ich benutze immer <code>struct</code> , weil öffentliche Vererbung viel häufiger ist als private und weil öffentliche Member an den Anfang der Klassendefinition gehören. Für die, die schwer von Begriff sind: Das spart pro Klasse eine Zeile ( <code>public:</code> ) und ein weiteres <code>public</code> vor den Vaterklassen.</p>
</blockquote>
<p>Kannst du gerne so machen. Hab' ich aber bisher kaum gesehen. Wo public/private Member zu stehen haben ist auch Ansichtssache. Wobei ich hier deine Ansicht teile -- ich schreibe hier halt das &quot;unnötige&quot; <code>public</code> .</p>
<blockquote>
<p>Beides im selben Projekt zu verwenden ist Quatsch, weil man dann bei jeder Vorwärtsdeklaration einer Klasse nachsehen muss, ob sie als <code>struct</code> oder <code>class</code> definiert wird.</p>
</blockquote>
<p>Unfug. Der Standard erlaubt explizit dass <code>class/struct</code> bei Fwd. Decl. und Definition nicht zusammenstimmen muss. Gibt auch keinen Grund dafür dass es zusammenpassen müsste.<br />
Davon abgesehen halte ich Fwd. Decl. Headers für eine sehr gute Idee, dann hat man genau ein Header File wo man die Fwd. Decl. schreiben muss. Da bekommt man es schon gebacken dass das mit der Definition zusammenstimmt.</p>
<blockquote>
<p>Und jetzt heult mich damit voll, dass <code>class</code> für den Leser ja so viel verständlicher und OOP-mäßiger ist, weil es man das in Java und C# auch so schreibt. Oder weil <code>struct</code> in C weniger kann als in C++.</p>
</blockquote>
<p>Du mich auch. Viel Spass noch mit deiner &quot;ich weiss alles besser&quot; Mentalität.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2239837</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2239837</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 07 Aug 2012 20:54:21 GMT</pubDate></item><item><title><![CDATA[Reply to Frage bezüglich Code Design on Tue, 07 Aug 2012 21:01:47 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<blockquote>
<p>Beides im selben Projekt zu verwenden ist Quatsch, weil man dann bei jeder Vorwärtsdeklaration einer Klasse nachsehen muss, ob sie als <code>struct</code> oder <code>class</code> definiert wird.</p>
</blockquote>
<p>Unfug. Der Standard erlaubt explizit dass <code>class/struct</code> bei Fwd. Decl. und Definition nicht zusammenstimmen muss. Gibt auch keinen Grund dafür dass es zusammenpassen müsste.</p>
</blockquote>
<p>Bei einer Klassendefinition ist <code>class</code> vs. <code>struct</code> total wichtig und bei der Deklaration nicht? Wenn man mit den beiden Schlüsselwörtern irgendeinen Unterschied ausdrücken möchte, ist Konsistenz unabdingbar.</p>
<p>hustbaer schrieb:</p>
<blockquote>
<blockquote>
<p>Und jetzt heult mich damit voll, dass <code>class</code> für den Leser ja so viel verständlicher und OOP-mäßiger ist, weil es man das in Java und C# auch so schreibt. Oder weil <code>struct</code> in C weniger kann als in C++.</p>
</blockquote>
<p>Du mich auch. Viel Spass noch mit deiner &quot;ich weiss alles besser&quot; Mentalität.</p>
</blockquote>
<p>Bleib sachlich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2239843</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2239843</guid><dc:creator><![CDATA[TyRoXx]]></dc:creator><pubDate>Tue, 07 Aug 2012 21:01:47 GMT</pubDate></item><item><title><![CDATA[Reply to Frage bezüglich Code Design on Tue, 07 Aug 2012 21:10:04 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">struct Foo;
class Foo{};
int main()
{
   Foo bar;
}
</code></pre>
<p>ohne Probleme Möglich!</p>
<p>struct {<br />
ist in C++ übrigens das exakt gleiche wie<br />
class {public:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2239847</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2239847</guid><dc:creator><![CDATA[Cyres]]></dc:creator><pubDate>Tue, 07 Aug 2012 21:10:04 GMT</pubDate></item><item><title><![CDATA[Reply to Frage bezüglich Code Design on Tue, 07 Aug 2012 21:22:23 GMT]]></title><description><![CDATA[<p>TyRoXx schrieb:</p>
<blockquote>
<p>hustbaer schrieb:</p>
<blockquote>
<blockquote>
<p>Beides im selben Projekt zu verwenden ist Quatsch, weil man dann bei jeder Vorwärtsdeklaration einer Klasse nachsehen muss, ob sie als <code>struct</code> oder <code>class</code> definiert wird.</p>
</blockquote>
<p>Unfug. Der Standard erlaubt explizit dass <code>class/struct</code> bei Fwd. Decl. und Definition nicht zusammenstimmen muss. Gibt auch keinen Grund dafür dass es zusammenpassen müsste.</p>
</blockquote>
<p>Bei einer Klassendefinition ist <code>class</code> vs. <code>struct</code> total wichtig und bei der Deklaration nicht? Wenn man mit den beiden Schlüsselwörtern irgendeinen Unterschied ausdrücken möchte, ist Konsistenz unabdingbar.</p>
</blockquote>
<p>Du hast behauptet dass man bei jeder Vorwärtsdeklaration nachsehen muss ob das Ding ne class oder struct ist. Dem ist nicht so. Darauf habe ich hingewiesen.<br />
Compiler werfen aber auch gerne Warnings wenn man es falsch erwischt. Dann macht man schnel klicksi-klicksi, ist an der entsprechenden Stelle, ändert es, Save, fertig. Problem = nicht existent.</p>
<blockquote>
<p>hustbaer schrieb:</p>
<blockquote>
<blockquote>
<p>Und jetzt heult mich damit voll, dass <code>class</code> für den Leser ja so viel verständlicher und OOP-mäßiger ist, weil es man das in Java und C# auch so schreibt. Oder weil <code>struct</code> in C weniger kann als in C++.</p>
</blockquote>
<p>Du mich auch. Viel Spass noch mit deiner &quot;ich weiss alles besser&quot; Mentalität.</p>
</blockquote>
<p>Bleib sachlich.</p>
</blockquote>
<p>Re.<br />
Ich meine Hallo, als ob &quot;Und jetzt heult mich damit voll...&quot; sachlich wäre. Freund der Blasmusik....</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2239857</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2239857</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 07 Aug 2012 21:22:23 GMT</pubDate></item><item><title><![CDATA[Reply to Frage bezüglich Code Design on Tue, 07 Aug 2012 21:26:02 GMT]]></title><description><![CDATA[<p>Cyres schrieb:</p>
<blockquote>
<p>struct {<br />
ist in C++ übrigens das exakt gleiche wie<br />
class {public:</p>
</blockquote>
<p>Immer noch nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2239861</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2239861</guid><dc:creator><![CDATA[TyRoXx]]></dc:creator><pubDate>Tue, 07 Aug 2012 21:26:02 GMT</pubDate></item><item><title><![CDATA[Reply to Frage bezüglich Code Design on Tue, 07 Aug 2012 21:29:40 GMT]]></title><description><![CDATA[<p>Cyres schrieb:</p>
<blockquote>
<pre><code class="language-cpp">struct Foo;
class Foo{};
int main()
{
   Foo bar;
}
</code></pre>
<p>ohne Probleme Möglich!</p>
<p>struct {<br />
ist in C++ übrigens das exakt gleiche wie<br />
class {public:</p>
</blockquote>
<p>Nein, Vererbungstyp ist auch anders.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2239863</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2239863</guid><dc:creator><![CDATA[IrgendeinName]]></dc:creator><pubDate>Tue, 07 Aug 2012 21:29:40 GMT</pubDate></item><item><title><![CDATA[Reply to Frage bezüglich Code Design on Tue, 07 Aug 2012 21:32:18 GMT]]></title><description><![CDATA[<p>Damit meinte ich eigentlich alles, was hinter class kommt. Aufmerksame Leser haben evtl auch bemerkt, dass der Klassenname fehlt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2239865</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2239865</guid><dc:creator><![CDATA[Cyres]]></dc:creator><pubDate>Tue, 07 Aug 2012 21:32:18 GMT</pubDate></item></channel></rss>