<?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[Gegenseitige Header importe]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe das Problem, dass ich nicht weiss, wie ich unter Visual C++ 2008 Express Header gegenseitig importieren kann.</p>
<p>Ich habe ein Kurs.h die Dozent.h included und die Dozent.h soll Kurs.h includen und dann fliegt mit der Compiler um die Ohren.</p>
<p>Ich habe bei Microsoft zwar schon folgendes gefunden, aber weiss nicht, wie das direkt mit dem Studio funktionieren soll.</p>
<p><a href="http://msdn2.microsoft.com/de-de/library/fdy23fx6.aspx" rel="nofollow">http://msdn2.microsoft.com/de-de/library/fdy23fx6.aspx</a></p>
<p>Danke<br />
NiBurhe</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/204996/gegenseitige-header-importe</link><generator>RSS for Node</generator><lastBuildDate>Thu, 08 Oct 2026 20:26:04 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/204996.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 09 Feb 2008 09:23:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Gegenseitige Header importe on Sat, 09 Feb 2008 09:23:29 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe das Problem, dass ich nicht weiss, wie ich unter Visual C++ 2008 Express Header gegenseitig importieren kann.</p>
<p>Ich habe ein Kurs.h die Dozent.h included und die Dozent.h soll Kurs.h includen und dann fliegt mit der Compiler um die Ohren.</p>
<p>Ich habe bei Microsoft zwar schon folgendes gefunden, aber weiss nicht, wie das direkt mit dem Studio funktionieren soll.</p>
<p><a href="http://msdn2.microsoft.com/de-de/library/fdy23fx6.aspx" rel="nofollow">http://msdn2.microsoft.com/de-de/library/fdy23fx6.aspx</a></p>
<p>Danke<br />
NiBurhe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1452413</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1452413</guid><dc:creator><![CDATA[NiBurhe]]></dc:creator><pubDate>Sat, 09 Feb 2008 09:23:29 GMT</pubDate></item><item><title><![CDATA[Reply to Gegenseitige Header importe on Sat, 09 Feb 2008 09:33:27 GMT]]></title><description><![CDATA[<p>Verwendest du include guards? Also in jeder .h Datei:</p>
<pre><code class="language-cpp">#ifndef DEINE_H
#define DEINE_H

// deine definitionen

#endif
</code></pre>
<p>Das sollte mehrfaches einbinden vermeiden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1452416</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1452416</guid><dc:creator><![CDATA[Korbinian]]></dc:creator><pubDate>Sat, 09 Feb 2008 09:33:27 GMT</pubDate></item><item><title><![CDATA[Reply to Gegenseitige Header importe on Sat, 09 Feb 2008 09:41:42 GMT]]></title><description><![CDATA[<p>Ne, habe ich noch nicht verwendet</p>
<p>Weiss leider auch nicht so wirklich wie, also wie ich es jetzt gemacht habe geht es nicht.</p>
<p>Kurs.h</p>
<pre><code class="language-cpp">#pragma once
#include &quot;Student.h&quot;
#include &lt;string&gt;
 using std::string;
 #include &lt;list&gt;
 using std::list;
#ifndef &quot;Dozent.h&quot;
#define &quot;Dozent.h&quot;

class Kurs
{
...

};
#endif
</code></pre>
<p>Dozent.h</p>
<pre><code class="language-cpp">#pragma once
#include &quot;Person.h&quot;
#include &lt;string&gt;
 using std::string;
#include &lt;list&gt;
 using std::list;
#ifndef &quot;Kurs.h&quot;
#define &quot;Kurs.h&quot;
class Dozent :
	public Person
{
...
};
#endif
</code></pre>
<p>Kannst du bitte mal erklären, wie ich das richtig einbinde.</p>
<p>Danke<br />
NiBurhe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1452420</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1452420</guid><dc:creator><![CDATA[NiBurhe]]></dc:creator><pubDate>Sat, 09 Feb 2008 09:41:42 GMT</pubDate></item><item><title><![CDATA[Reply to Gegenseitige Header importe on Sat, 09 Feb 2008 09:59:39 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#ifndef INCLUDED_KURS_H
#define INCLUDED_KURS_H
#pragma once
#include &quot;Student.h&quot;
#include &lt;string&gt;
 using std::string;
 #include &lt;list&gt;
 using std::list;

class Kurs
{
...

};
#endif
</code></pre>
<p>Dozent.h</p>
<pre><code class="language-cpp">#ifndef INCLUDED_DOZENT_H
#define INCLUDED_DOZENT_H
#pragma once
#include &quot;Person.h&quot;
#include &lt;string&gt;
 using std::string;
#include &lt;list&gt;
 using std::list;
class Dozent :
	public Person
{
...
};
#endif
</code></pre>
<p>Kannst du bitte mal erklären, wie ich das richtig einbinde.</p>
<p>Danke<br />
NiBurhe[/quote]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1452424</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1452424</guid><dc:creator><![CDATA[MrXY]]></dc:creator><pubDate>Sat, 09 Feb 2008 09:59:39 GMT</pubDate></item><item><title><![CDATA[Reply to Gegenseitige Header importe on Sat, 09 Feb 2008 10:13:40 GMT]]></title><description><![CDATA[<p>Danke, aber irgendwie klappt das nicht so ganz, muss ich noch was beachten, wenn ich diese Header Dateien dann include?</p>
<pre><code>1&gt;Dozent.cpp
1&gt;d:\dateien\visual studio 2008\projects\uni\uni\kurs.h(18) : error C2146: syntax error : missing ';' before identifier '_dozent'
1&gt;d:\dateien\visual studio 2008\projects\uni\uni\kurs.h(18) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1&gt;d:\dateien\visual studio 2008\projects\uni\uni\kurs.h(18) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1&gt;d:\dateien\visual studio 2008\projects\uni\uni\kurs.h(22) : error C2061: syntax error : identifier 'Dozent'
1&gt;Uni.cpp
1&gt;d:\dateien\visual studio 2008\projects\uni\uni\kurs.h(18) : error C2146: syntax error : missing ';' before identifier '_dozent'
1&gt;d:\dateien\visual studio 2008\projects\uni\uni\kurs.h(18) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1&gt;d:\dateien\visual studio 2008\projects\uni\uni\kurs.h(18) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1&gt;d:\dateien\visual studio 2008\projects\uni\uni\kurs.h(22) : error C2061: syntax error : identifier 'Dozent'
</code></pre>
<p>In den Zeilen 18 und 22 wird das Object Dozent verwendet.</p>
<p>MfG<br />
NiBurhe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1452433</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1452433</guid><dc:creator><![CDATA[NiBurhe]]></dc:creator><pubDate>Sat, 09 Feb 2008 10:13:40 GMT</pubDate></item><item><title><![CDATA[Reply to Gegenseitige Header importe on Sat, 09 Feb 2008 13:02:05 GMT]]></title><description><![CDATA[<p>Schreibe eine Declaration class Dezent; in 'Kurs.h'</p>
<pre><code class="language-cpp">#ifndef INCLUDED_KURS_H
#define INCLUDED_KURS_H
#pragma once
#include &quot;Student.h&quot;
#include &lt;string&gt;
 using std::string;
 #include &lt;list&gt;
 using std::list;

class Dozent;

class Kurs
{
...

};
#endif
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1452489</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1452489</guid><dc:creator><![CDATA[Ramsis]]></dc:creator><pubDate>Sat, 09 Feb 2008 13:02:05 GMT</pubDate></item><item><title><![CDATA[Reply to Gegenseitige Header importe on Sat, 09 Feb 2008 13:14:10 GMT]]></title><description><![CDATA[<p>Leider immer noch ohne gewünschten Erfolg<br />
Kurs.h</p>
<pre><code class="language-cpp">#ifndef INCLUDED_KURS_H
#define INCLUDED_KURS_H 
#pragma once
#include &quot;Student.h&quot;
#include &quot;Dozent.h&quot;
#include &lt;string&gt;
 using std::string;
 #include &lt;list&gt;
 using std::list;

class Dozent; 

class Kurs
{
private:
	string _thema;
	int _semester;
	list&lt;Student&gt; _studenten;
	Dozent _dozent;  //Zeile 19
	int getAnzahlTeilnehmer();

public:
	Kurs(string thema, int semester, Dozent dozent);
	void zeigeKursteilnehmer();
	string add(Student student, list&lt;Kurs&gt; kurse);

};
#endif
</code></pre>
<p>führt zu<br />
1&gt;d:\dateien\visual studio 2008\projects\uni\uni\kurs.h(19) : error C2079: 'Kurs::_dozent' uses undefined class 'Dozent'</p>
<p>MfG<br />
NiBurhe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1452498</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1452498</guid><dc:creator><![CDATA[NiBurhe]]></dc:creator><pubDate>Sat, 09 Feb 2008 13:14:10 GMT</pubDate></item><item><title><![CDATA[Reply to Gegenseitige Header importe on Sat, 09 Feb 2008 13:50:41 GMT]]></title><description><![CDATA[<p>Bemerkung:</p>
<p>Entweder man verwendet #define Header Guards oder das #pragma once, aber nicht beides zusammen. Macht keinen Sinn.</p>
<p>Simon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1452517</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1452517</guid><dc:creator><![CDATA[simon.gysi]]></dc:creator><pubDate>Sat, 09 Feb 2008 13:50:41 GMT</pubDate></item><item><title><![CDATA[Reply to Gegenseitige Header importe on Sat, 09 Feb 2008 13:53:28 GMT]]></title><description><![CDATA[<p>NiBurhe schrieb:</p>
<blockquote>
<p>ich habe das Problem, dass ich nicht weiss, wie ich unter Visual C++ 2008 Express Header gegenseitig importieren kann.</p>
</blockquote>
<p>Zyklische Includes in Headern sind nicht möglich!</p>
<p>Stell dir folgendes vor: wann immer du ein Inklude findest, musst du das Ziel kopieren... header1 inkludierst header2, header1 inkludiert header2...</p>
<p>Dies umgeht man u.a. Durch &quot;Vorwärtsdeklaration&quot;.</p>
<p><a href="http://www.c-plusplus.net/forum/viewtopic-var-p-is-285396.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-p-is-285396.html</a><br />
und weitere...</p>
<p>cu André<br />
P.S: Zudem achte darauf das die Includeguards eindeutig benannt werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1452519</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1452519</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Sat, 09 Feb 2008 13:53:28 GMT</pubDate></item><item><title><![CDATA[Reply to Gegenseitige Header importe on Sat, 09 Feb 2008 13:55:33 GMT]]></title><description><![CDATA[<p>Ich weiss leider weder was das erste noch was das zweite macht, ich versuche nur einfach das Programm zum laufen zu bekommen, weil sowas bei unserer tollen C/C++ vorlesung nie genannt wurden ist.</p>
<p>MfG<br />
NiBurhe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1452520</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1452520</guid><dc:creator><![CDATA[NiBurhe]]></dc:creator><pubDate>Sat, 09 Feb 2008 13:55:33 GMT</pubDate></item><item><title><![CDATA[Reply to Gegenseitige Header importe on Sat, 09 Feb 2008 14:03:03 GMT]]></title><description><![CDATA[<p>1. Forward Deklarationen a la &quot;class Dozent;&quot; funktionieren nur im Zusammenhang mit Pointern od. Referenzen.</p>
<p>2. Entweder includieren des headers od. forwärts deklarieren. Nicht beides.</p>
<p>3. Benutze in Headern niemals using (namespace) directiven. Immer den vollen namen benutzen. Dies würde den Sinn der namespaces zunichte machen.</p>
<p>4. Schaue dir bei Gelegenheit mal parameterübergabe per Referenz (insbes. const) an.</p>
<p>5. Was möchtest Du mit</p>
<pre><code class="language-cpp">string add(Student student, list&lt;Kurs&gt; kurse);
</code></pre>
<p>erreichen?</p>
<p>Hier ein wenig Code:</p>
<p>Kurs.h</p>
<pre><code class="language-cpp">#pragma once
#include &quot;Student.h&quot;
#include &quot;Dozent.h&quot;
#include &lt;string&gt;
#include &lt;list&gt;

class Kurs
{
private:
    std::string        _thema;
    int                _semester;
    std::list&lt;Student&gt; _studenten;
    Dozent             _dozent;

    int                getAnzahlTeilnehmer();

public:
    Kurs(string thema, int semester, Dozent dozent);
    void zeigeKursteilnehmer();
    string add(Student student, list&lt;Kurs&gt; kurse);
};
</code></pre>
<p>Person.h</p>
<pre><code class="language-cpp">#pragma once

class Person
{
    // ....
};
</code></pre>
<p>Dozent.h</p>
<pre><code class="language-cpp">#pragma once
#include &quot;Person.h&quot;

class Dozent : public Person
{
    // ....
};
</code></pre>
<p>Student.h</p>
<pre><code class="language-cpp">#pragma once
#include &quot;Person.h&quot;

class Student : public Person
{
    // ....
};
</code></pre>
<p>Gruss Simon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1452524</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1452524</guid><dc:creator><![CDATA[simon.gysi]]></dc:creator><pubDate>Sat, 09 Feb 2008 14:03:03 GMT</pubDate></item><item><title><![CDATA[Reply to Gegenseitige Header importe on Sat, 09 Feb 2008 14:15:12 GMT]]></title><description><![CDATA[<p>Danke an alle, jetzt läuft es.</p>
<p>zu 5.<br />
Es gibt eine Liste mit Kursen, jeder Kurs hat eine Liste von Studenten die daran teilnehmen. Damit soll einem bestimmten Kurs ein Student zugeordnet werden, aber der Student darf nur in 20 Kursen sein, deshalb brauche ich die Liste um zu überprüfen, ob der Student schon 20 Kurse belegt.<br />
Das ganze soll so wenig redundant wie möglich sein, damit ich nur den Studenten aus der Liste löschen muss.</p>
<p>MfG<br />
NiBurhe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1452529</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1452529</guid><dc:creator><![CDATA[NiBurhe]]></dc:creator><pubDate>Sat, 09 Feb 2008 14:15:12 GMT</pubDate></item></channel></rss>