<?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[#define,#ifndef,#endif...]]></title><description><![CDATA[<p>Guten Morgen ihr Nachtschwärmer <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Nun wo fange ich denn mal an.<br />
Ich &quot;versuche&quot; was neues zu lernen. Nämlich den Umgang mit den Präprozessordirektiven (#define,#endif,#ifndef,...)<br />
Damit ich die Klassendefinitionen nicht in einer Datei habe sondern sie etwas übersichtlicher gestalten kann.</p>
<p>Aber ich komme nicht weiter.</p>
<p>Ich bin echt verzweifelt. Hoffe ihr könnt mir helfen.</p>
<pre><code class="language-cpp">//klasse.h
#include &lt;iostream&gt;

class ort1
{
public:
	int getY() const;
	int getX() const;
	void aendern(int x, int y);
	ort1();
private:
	int XKoordinate,
		YKoordinate;
};

/* INLINE - IMPLEMENTIERUNG */

inline int ort1::getY() const { return YKoordinate; }
inline int ort1::getX() const { return XKoordinate; }
inline void ort1::aendern(int x, int y) 
{
	XKoordinate = x; YKoordinate = y;
	std::cout &lt;&lt; &quot;Ort1-Objekt wurde geändert!\n&quot;
		&lt;&lt; &quot;x = &quot; &lt;&lt; XKoordinate &lt;&lt; '\n'
		&lt;&lt; &quot;y = &quot; &lt;&lt; YKoordinate &lt;&lt; '\n';
}
</code></pre>
<pre><code class="language-cpp">//main.cpp
#include &lt;iostream&gt;
#include &quot;klasse.h&quot;

int main(int argc, char** argv)
{
	ort1 Object;
	std::cout &lt;&lt; Object.getX();
}
</code></pre>
<p>Nun, ich weiß nicht was ich falsch mache. Aber es kommen ständig die 2 Fehler, mit denen ich kaum was anfangen kann <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=":/"
      alt="😕"
    /></p>
<blockquote>
<p>Fehler 1 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol &quot;&quot;public: __thiscall ort1::ort1(void)&quot; (??0ort1@@QAE@XZ)&quot; in Funktion &quot;_main&quot;. main.obj</p>
</blockquote>
<blockquote>
<p>Fehler 2 fatal error LNK1120: 1 nicht aufgelöste externe Verweise.</p>
</blockquote>
<p>Mache ich da was falsch mit den Prä....direktiven?</p>
<p>Mentras</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/247664/define-ifndef-endif</link><generator>RSS for Node</generator><lastBuildDate>Thu, 17 Sep 2026 11:59:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/247664.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 14 Aug 2009 00:11:23 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to #define,#ifndef,#endif... on Fri, 14 Aug 2009 00:11:23 GMT]]></title><description><![CDATA[<p>Guten Morgen ihr Nachtschwärmer <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Nun wo fange ich denn mal an.<br />
Ich &quot;versuche&quot; was neues zu lernen. Nämlich den Umgang mit den Präprozessordirektiven (#define,#endif,#ifndef,...)<br />
Damit ich die Klassendefinitionen nicht in einer Datei habe sondern sie etwas übersichtlicher gestalten kann.</p>
<p>Aber ich komme nicht weiter.</p>
<p>Ich bin echt verzweifelt. Hoffe ihr könnt mir helfen.</p>
<pre><code class="language-cpp">//klasse.h
#include &lt;iostream&gt;

class ort1
{
public:
	int getY() const;
	int getX() const;
	void aendern(int x, int y);
	ort1();
private:
	int XKoordinate,
		YKoordinate;
};

/* INLINE - IMPLEMENTIERUNG */

inline int ort1::getY() const { return YKoordinate; }
inline int ort1::getX() const { return XKoordinate; }
inline void ort1::aendern(int x, int y) 
{
	XKoordinate = x; YKoordinate = y;
	std::cout &lt;&lt; &quot;Ort1-Objekt wurde geändert!\n&quot;
		&lt;&lt; &quot;x = &quot; &lt;&lt; XKoordinate &lt;&lt; '\n'
		&lt;&lt; &quot;y = &quot; &lt;&lt; YKoordinate &lt;&lt; '\n';
}
</code></pre>
<pre><code class="language-cpp">//main.cpp
#include &lt;iostream&gt;
#include &quot;klasse.h&quot;

int main(int argc, char** argv)
{
	ort1 Object;
	std::cout &lt;&lt; Object.getX();
}
</code></pre>
<p>Nun, ich weiß nicht was ich falsch mache. Aber es kommen ständig die 2 Fehler, mit denen ich kaum was anfangen kann <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=":/"
      alt="😕"
    /></p>
<blockquote>
<p>Fehler 1 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol &quot;&quot;public: __thiscall ort1::ort1(void)&quot; (??0ort1@@QAE@XZ)&quot; in Funktion &quot;_main&quot;. main.obj</p>
</blockquote>
<blockquote>
<p>Fehler 2 fatal error LNK1120: 1 nicht aufgelöste externe Verweise.</p>
</blockquote>
<p>Mache ich da was falsch mit den Prä....direktiven?</p>
<p>Mentras</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1760448</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1760448</guid><dc:creator><![CDATA[Mentras]]></dc:creator><pubDate>Fri, 14 Aug 2009 00:11:23 GMT</pubDate></item><item><title><![CDATA[Reply to #define,#ifndef,#endif... on Fri, 14 Aug 2009 00:16:03 GMT]]></title><description><![CDATA[<p>In deinem Code benutzt du kein einziges <code>define</code> , <code>ifndef</code> oder <code>endif</code> . Dein Problem hat auch überhaupt gar nichts mit dem zu tun. Wieso dann die Erklärung am Anfang und dieser Titel?</p>
<p>Dein Problem ist ganz einfach, du hast einen Konstruktor deklariert aber nicht definiert. Es fehlt die Definition deines Standardkonstruktors in <code>ort1</code> .</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1760451</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1760451</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Fri, 14 Aug 2009 00:16:03 GMT</pubDate></item><item><title><![CDATA[Reply to #define,#ifndef,#endif... on Fri, 14 Aug 2009 00:16:33 GMT]]></title><description><![CDATA[<p>du musst den konstruktor</p>
<pre><code class="language-cpp">ort1();
</code></pre>
<p>definieren <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1760452</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1760452</guid><dc:creator><![CDATA[sothis_]]></dc:creator><pubDate>Fri, 14 Aug 2009 00:16:33 GMT</pubDate></item><item><title><![CDATA[Reply to #define,#ifndef,#endif... on Fri, 14 Aug 2009 00:46:22 GMT]]></title><description><![CDATA[<p>Ach verdammt <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=":/"
      alt="😕"
    /><br />
Tut mir Leid, ich Dussel hab da was vergessen.<br />
Können wir wieder von neu beginnen?^^<br />
Also,</p>
<p>Hier die Klasse:</p>
<pre><code class="language-cpp">//klasse.h
#include &lt;iostream&gt;

class ort1
{
public:
	int getY() const;
	int getX() const;
	void aendern(int x, int y);
	ort1::ort1()
	{
		XKoordinate = 0;
		YKoordinate = 0;
	}
private:
	int XKoordinate,
		YKoordinate;
};

/* INLINE - IMPLEMENTIERUNG */

inline int ort1::getY() const { return YKoordinate; }
inline int ort1::getX() const { return XKoordinate; }
inline void ort1::aendern(int x, int y) 
{
	XKoordinate = x; YKoordinate = y;
	std::cout &lt;&lt; &quot;Ort1-Objekt wurde geändert!\n&quot;
		&lt;&lt; &quot;x = &quot; &lt;&lt; XKoordinate &lt;&lt; '\n'
		&lt;&lt; &quot;y = &quot; &lt;&lt; YKoordinate &lt;&lt; '\n';
}
</code></pre>
<pre><code class="language-cpp">//main.cpp
#include &lt;iostream&gt;
#ifndef klasse_h
#define klasse_h
#endif

int main(int argc, char** argv)
{
	ort1 Object;
	std::cout &lt;&lt; Object.getX();
}
</code></pre>
<p>Jetzt sind´s allerdings mehr fehler. Da ich nicht an die Member bzw auf die Klasse ort1 zugreifen kann.</p>
<p><strong>€dit:<br />
Nagut, die Fehler beheben sich wenn ich statt dem #ifndef.... Kram nur #include &quot;klasse.h&quot; einsetze.<br />
Aber wieso? Was mach ich denn falsch?</strong></p>
<p>Lg Mentras</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1760455</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1760455</guid><dc:creator><![CDATA[Mentras]]></dc:creator><pubDate>Fri, 14 Aug 2009 00:46:22 GMT</pubDate></item><item><title><![CDATA[Reply to #define,#ifndef,#endif... on Fri, 14 Aug 2009 00:54:51 GMT]]></title><description><![CDATA[<p>Lies am Besten mal ein paar Artikel zu Defines. Was du da gemacht hast ist total blödsinnig.</p>
<p>Mit #include bindest du deine Klassen Header Datei ein. Da du das nicht gemacht hast, konntest du auch nicht auf die Klasse zugreifen. Logisch oder?</p>
<p>Die defines die du in die main.cpp eingefügt hast, werden normalerweise als Header Guards benutzt.</p>
<pre><code class="language-cpp">//klasse.h
#ifndef KLASSE_H
#define KLASSE_H

#include &lt;iostream&gt;

class ort1
{
public:
    int getY() const;
    int getX() const;
    void aendern(int x, int y);
    ort1::ort1()
    {
        XKoordinate = 0;
        YKoordinate = 0;
    }
private:
    int XKoordinate,
        YKoordinate;
};

/* INLINE - IMPLEMENTIERUNG */

inline int ort1::getY() const { return YKoordinate; }
inline int ort1::getX() const { return XKoordinate; }
inline void ort1::aendern(int x, int y) 
{
    XKoordinate = x; YKoordinate = y;
    std::cout &lt;&lt; &quot;Ort1-Objekt wurde geändert!\n&quot;
        &lt;&lt; &quot;x = &quot; &lt;&lt; XKoordinate &lt;&lt; '\n'
        &lt;&lt; &quot;y = &quot; &lt;&lt; YKoordinate &lt;&lt; '\n';
}

#endif
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1760460</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1760460</guid><dc:creator><![CDATA[-insane- 0]]></dc:creator><pubDate>Fri, 14 Aug 2009 00:54:51 GMT</pubDate></item><item><title><![CDATA[Reply to #define,#ifndef,#endif... on Fri, 14 Aug 2009 01:10:07 GMT]]></title><description><![CDATA[<blockquote>
<p>Mit #include bindest du deine Klassen Header Datei ein. Da du das nicht gemacht hast, konntest du auch nicht auf die Klasse zugreifen. Logisch oder?</p>
</blockquote>
<p>Logisch, dessen war ich mir bewusst. Die Frage war eher an die Präprozessordirektiven gerichtet. Was sich natürlich durch deine Hilfe erledigt hatte <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Werde mir ein paar Artikel durchlesen.<br />
Danke für deine Hilfe! (Hat funktioniert)</p>
<p>Lg Mentras</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1760461</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1760461</guid><dc:creator><![CDATA[Mentras]]></dc:creator><pubDate>Fri, 14 Aug 2009 01:10:07 GMT</pubDate></item></channel></rss>