<?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[Warum braucht ein Char Array ein Pointer in einer Klasse und int nicht?!]]></title><description><![CDATA[<p>Hey Leute,<br />
ich habe folgendes Verständnis Problem. Ich verstehe nicht so ganz warum ein Char Array einen Pointer braucht und int und bool nicht. Dazu folgenden Code:</p>
<pre><code>//Mensch.h

class Mensch
{

private:
	int alter;
	char name[30];
	bool geschlecht;
//...
public:
        enum geschlecht = {MANN, FRAU};
        void erzeuge(const char* n,int a,bool g);
//...
};

//Mensch.cpp
void Mensch::erzeuge(const char* n,int a,bool g)
{
	strncpy_s(name, n, sizeof(name) - 1);
	name[sizeof(name)] = '\0';
	alter = a;
	geschlecht = g;
}

//main.cpp

int main()
{
int main()
{
	Mensch Mann;
	Mann.erzeuge(&quot;Dave&quot;, 50, Mensch::MANN);
}
</code></pre>
<p>Hier geht es rein um das Verständnis, da ich im Moment noch C++ lerne. Das heißt es geht nicht darum, wie man es einfach programmieren könnte oder ähnlichem. Ich danke für eure Hilfe.</p>
<p>DubiTG</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/337047/warum-braucht-ein-char-array-ein-pointer-in-einer-klasse-und-int-nicht</link><generator>RSS for Node</generator><lastBuildDate>Sat, 18 Apr 2026 15:25:44 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/337047.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 04 Mar 2016 06:00:14 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Warum braucht ein Char Array ein Pointer in einer Klasse und int nicht?! on Fri, 04 Mar 2016 06:00:14 GMT]]></title><description><![CDATA[<p>Hey Leute,<br />
ich habe folgendes Verständnis Problem. Ich verstehe nicht so ganz warum ein Char Array einen Pointer braucht und int und bool nicht. Dazu folgenden Code:</p>
<pre><code>//Mensch.h

class Mensch
{

private:
	int alter;
	char name[30];
	bool geschlecht;
//...
public:
        enum geschlecht = {MANN, FRAU};
        void erzeuge(const char* n,int a,bool g);
//...
};

//Mensch.cpp
void Mensch::erzeuge(const char* n,int a,bool g)
{
	strncpy_s(name, n, sizeof(name) - 1);
	name[sizeof(name)] = '\0';
	alter = a;
	geschlecht = g;
}

//main.cpp

int main()
{
int main()
{
	Mensch Mann;
	Mann.erzeuge(&quot;Dave&quot;, 50, Mensch::MANN);
}
</code></pre>
<p>Hier geht es rein um das Verständnis, da ich im Moment noch C++ lerne. Das heißt es geht nicht darum, wie man es einfach programmieren könnte oder ähnlichem. Ich danke für eure Hilfe.</p>
<p>DubiTG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2489317</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2489317</guid><dc:creator><![CDATA[DubiTG]]></dc:creator><pubDate>Fri, 04 Mar 2016 06:00:14 GMT</pubDate></item><item><title><![CDATA[Reply to Warum braucht ein Char Array ein Pointer in einer Klasse und int nicht?! on Fri, 04 Mar 2016 06:26:06 GMT]]></title><description><![CDATA[<p>Arrays haben keine Kopiersemantik, ist eben einfach so. Meistens will man sie auch nicht kopieren (hier aber schon). Haben die Macher von C eben so festgelegt und in C++ hat man das übernommen.</p>
<p>Dir ist klar, dass dein Code falsch ist? Und dass man das in C++ <em>niemals</em> so machen würde? Du schreibst hinter das Ende des Arrays. Statt Arrays würde man in C++ in aller Regel mit std::array arbeiten. Das ist dann auch ganz normal kopierbar. Und für Zeichenketten würde man in C++ kein Array nehmen, sondern std::string. Der ist auch kopierbar und seine Größe ist flexibel. Was du da derzeit machst ist das berüchtigte C mit Klassen. Falls du das so gelernt haben solltest, nimm Abstand von deinem Lehrer.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2489318</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2489318</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 04 Mar 2016 06:26:06 GMT</pubDate></item><item><title><![CDATA[Reply to Warum braucht ein Char Array ein Pointer in einer Klasse und int nicht?! on Fri, 04 Mar 2016 09:53:05 GMT]]></title><description><![CDATA[<p>Noch ein krasser fehler: Geschlecht als enum ist ok, es aber als bool zu übergeben nicht. da wird das enum nur als 0 bzw 1 (true) interpretiert.<br />
D.h. MANN und FRAU vertauschen ändert die Bedeutung des Programms!</p>
<p>erzeuge() müsste eigentlich ein Konstruktor werden</p>
<p>woher hast Du das?</p>
<p>Z. 28-29 müssen weg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2489330</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2489330</guid><dc:creator><![CDATA[krasserFehler]]></dc:creator><pubDate>Fri, 04 Mar 2016 09:53:05 GMT</pubDate></item></channel></rss>