<?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[Vererbung]]></title><description><![CDATA[<p>Kann mir bitte jemand erklären, warum hier 8 ausgegeben wird?</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

class Base
{
    char c;
};

class Derived : public Base
{
    int i;
};

int main()
{
    std::cout &lt;&lt; sizeof(Derived);
}
</code></pre>
<p>So wie ich das verstanden habe, müsste die abgelittene Klasse doch einfach sizeof(int) + sizeof(char) = 5 Bytes groß sein. Wieso ist sie dann plötzlich 8 Bytes groß?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/298994/vererbung</link><generator>RSS for Node</generator><lastBuildDate>Thu, 13 Aug 2026 12:44:06 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/298994.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 31 Jan 2012 15:17:10 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Vererbung on Tue, 31 Jan 2012 15:17:10 GMT]]></title><description><![CDATA[<p>Kann mir bitte jemand erklären, warum hier 8 ausgegeben wird?</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

class Base
{
    char c;
};

class Derived : public Base
{
    int i;
};

int main()
{
    std::cout &lt;&lt; sizeof(Derived);
}
</code></pre>
<p>So wie ich das verstanden habe, müsste die abgelittene Klasse doch einfach sizeof(int) + sizeof(char) = 5 Bytes groß sein. Wieso ist sie dann plötzlich 8 Bytes groß?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2175159</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2175159</guid><dc:creator><![CDATA[Incocnito]]></dc:creator><pubDate>Tue, 31 Jan 2012 15:17:10 GMT</pubDate></item><item><title><![CDATA[Reply to Vererbung on Tue, 31 Jan 2012 15:23:51 GMT]]></title><description><![CDATA[<p><a href="http://en.wikipedia.org/wiki/Data_structure_alignment#Data_structure_padding" rel="nofollow">http://en.wikipedia.org/wiki/Data_structure_alignment#Data_structure_padding</a> <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>
<p>Long story short: Der Compiler paltziert i nicht direkt hinter c, sondern lässt 3 Byte ungenutzt, damit i auf eine Adresse fällt die ein Vielfaches von 4 ist, da der Zugriff drauf dann um ein Vielfaches schneller ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2175162</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2175162</guid><dc:creator><![CDATA[dot]]></dc:creator><pubDate>Tue, 31 Jan 2012 15:23:51 GMT</pubDate></item><item><title><![CDATA[Reply to Vererbung on Tue, 31 Jan 2012 15:33:55 GMT]]></title><description><![CDATA[<p>Danke. Davon war in meinem Buch leider keine Rede.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2175174</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2175174</guid><dc:creator><![CDATA[Incocnito]]></dc:creator><pubDate>Tue, 31 Jan 2012 15:33:55 GMT</pubDate></item><item><title><![CDATA[Reply to Vererbung on Tue, 31 Jan 2012 17:36:45 GMT]]></title><description><![CDATA[<p>Incocnito schrieb:</p>
<blockquote>
<p>Danke. Davon war in meinem Buch leider keine Rede.</p>
</blockquote>
<p>Solange in dem Buch nicht behauptet wird, dass die Große = Große von int + Größe von char ist, ist das ja auch vollkommen richtig, bzw. sollte niemanden interessieren, weil es nur zu unportablen Bytehacks gut ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2175240</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2175240</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 31 Jan 2012 17:36:45 GMT</pubDate></item></channel></rss>