<?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[Problem beim Linking]]></title><description><![CDATA[<p>Hi<br />
Ich lerne schon seit längerem C++, habe zwischendurch aufgehört, weil mir die Lust fehlte. Nahc langer Pause stieg ich dann wieder ein. Ich wiedehrolte alle Sachen mit dem eBook von C++ in 21 Tagen. Als ich dann eine Übung abschloss kam der fehler:</p>
<p>.<br />
main.obj : error LNK2005: &quot;public: class cSimpleCircle &amp; __thiscall cSimpleCircle::operator++(void)&quot; (??EcSimpleCircle@@QAEAAV0@XZ) already defined in simplecircle.obj<br />
main.obj : error LNK2005: &quot;public: class cSimpleCircle __thiscall cSimpleCircle::operator++(int)&quot; (??EcSimpleCircle@@QAE?AV0@H@Z) already defined in simplecircle.obj<br />
main.obj : error LNK2005: &quot;public: __thiscall cSimpleCircle::cSimpleCircle(void)&quot; (??0cSimpleCircle@@QAE@XZ) already defined in simplecircle.obj<br />
main.obj : error LNK2005: &quot;public: __thiscall cSimpleCircle::cSimpleCircle(int)&quot; (??0cSimpleCircle@@QAE@H@Z) already defined in simplecircle.obj<br />
main.obj : error LNK2005: &quot;public: __thiscall cSimpleCircle::~cSimpleCircle(void)&quot; (??1cSimpleCircle@@QAE@XZ) already defined in simplecircle.obj<br />
main.obj : error LNK2005: &quot;public: __thiscall cSimpleCircle::cSimpleCircle(class cSimpleCircle &amp;)&quot; (??0cSimpleCircle@@QAE@AAV0@@Z) already defined in simplecircle.obj<br />
main.obj : error LNK2005: &quot;public: class cSimpleCircle &amp; __thiscall cSimpleCircle::operator=(class cSimpleCircle &amp;)&quot; (??4cSimpleCircle@@QAEAAV0@AAV0@@Z) already defined in simplecircle.obj<br />
D:\Eigene Dateien\Tobias\Visual Studio 2008\Projects\Überladung von Operatoren - Aufgaben\Debug\Überladung von Operatoren - Aufgaben.exe : fatal error LNK1169: one or more multiply defined symbols found</p>
<p>Die Klassendeklaration:</p>
<pre><code class="language-cpp">class cSimpleCircle
{
private:
	int *itsRadius;

public:
	int getRadius () const { return *itsRadius; }
	void setRadius (int radius) { *itsRadius = radius;}

	cSimpleCircle () ;
	cSimpleCircle (int radius);
	cSimpleCircle (cSimpleCircle&amp;);
	~cSimpleCircle ();

	cSimpleCircle&amp; operator++();
	cSimpleCircle operator++(int);
	cSimpleCircle&amp; operator=(cSimpleCircle&amp;);
};
</code></pre>
<p>Definition:</p>
<pre><code class="language-cpp">#include &quot;simplecircle.h&quot;

cSimpleCircle&amp; cSimpleCircle ::operator ++()
{
	++(*itsRadius);
	return *this;
}

cSimpleCircle cSimpleCircle::operator ++(int)
{
	cSimpleCircle temp(*this);
	++(*itsRadius);
	return temp;
}

cSimpleCircle::cSimpleCircle()
{
	itsRadius = new int;
	*itsRadius = 5;
}

cSimpleCircle::cSimpleCircle(int radius)
{
	itsRadius = new int;
	*itsRadius = radius;
}

cSimpleCircle::~cSimpleCircle()
{
	delete itsRadius;
	itsRadius = 0;
}

cSimpleCircle::cSimpleCircle(cSimpleCircle&amp; rhs)
{
	itsRadius = new int;
	*itsRadius = rhs.getRadius();
}

cSimpleCircle&amp; cSimpleCircle::operator =(cSimpleCircle &amp; rhs)
{
	if (this == &amp;rhs)
		return *this;
	delete itsRadius;
	itsRadius = new int;
	*itsRadius = rhs.getRadius();
	return *this;
}
</code></pre>
<p>Programmdatei mit int main()</p>
<pre><code class="language-cpp">#include &quot;simplecircle.cpp&quot;
#include &lt;iostream&gt;
using namespace std;

int main ()
{
	cSimpleCircle yellow;
	cSimpleCircle green (9);

	cout &lt;&lt; yellow.getRadius() &lt;&lt; endl;
	cout &lt;&lt; green.getRadius() &lt;&lt; endl;

	++green;
	++yellow;

	cout &lt;&lt; yellow.getRadius() &lt;&lt; endl;
	cout &lt;&lt; green.getRadius() &lt;&lt; endl;

	green = yellow;

	cout &lt;&lt; green.getRadius() &lt;&lt; endl;
	cout &lt;&lt; yellow.getRadius() &lt;&lt; endl;

	return 0;
}
</code></pre>
<p>Weiß einer Rat?</p>
<p>Danke im Voraus.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/199484/problem-beim-linking</link><generator>RSS for Node</generator><lastBuildDate>Sat, 03 Oct 2026 16:26:21 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/199484.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 03 Dec 2007 15:47:44 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem beim Linking on Mon, 03 Dec 2007 15:47:44 GMT]]></title><description><![CDATA[<p>Hi<br />
Ich lerne schon seit längerem C++, habe zwischendurch aufgehört, weil mir die Lust fehlte. Nahc langer Pause stieg ich dann wieder ein. Ich wiedehrolte alle Sachen mit dem eBook von C++ in 21 Tagen. Als ich dann eine Übung abschloss kam der fehler:</p>
<p>.<br />
main.obj : error LNK2005: &quot;public: class cSimpleCircle &amp; __thiscall cSimpleCircle::operator++(void)&quot; (??EcSimpleCircle@@QAEAAV0@XZ) already defined in simplecircle.obj<br />
main.obj : error LNK2005: &quot;public: class cSimpleCircle __thiscall cSimpleCircle::operator++(int)&quot; (??EcSimpleCircle@@QAE?AV0@H@Z) already defined in simplecircle.obj<br />
main.obj : error LNK2005: &quot;public: __thiscall cSimpleCircle::cSimpleCircle(void)&quot; (??0cSimpleCircle@@QAE@XZ) already defined in simplecircle.obj<br />
main.obj : error LNK2005: &quot;public: __thiscall cSimpleCircle::cSimpleCircle(int)&quot; (??0cSimpleCircle@@QAE@H@Z) already defined in simplecircle.obj<br />
main.obj : error LNK2005: &quot;public: __thiscall cSimpleCircle::~cSimpleCircle(void)&quot; (??1cSimpleCircle@@QAE@XZ) already defined in simplecircle.obj<br />
main.obj : error LNK2005: &quot;public: __thiscall cSimpleCircle::cSimpleCircle(class cSimpleCircle &amp;)&quot; (??0cSimpleCircle@@QAE@AAV0@@Z) already defined in simplecircle.obj<br />
main.obj : error LNK2005: &quot;public: class cSimpleCircle &amp; __thiscall cSimpleCircle::operator=(class cSimpleCircle &amp;)&quot; (??4cSimpleCircle@@QAEAAV0@AAV0@@Z) already defined in simplecircle.obj<br />
D:\Eigene Dateien\Tobias\Visual Studio 2008\Projects\Überladung von Operatoren - Aufgaben\Debug\Überladung von Operatoren - Aufgaben.exe : fatal error LNK1169: one or more multiply defined symbols found</p>
<p>Die Klassendeklaration:</p>
<pre><code class="language-cpp">class cSimpleCircle
{
private:
	int *itsRadius;

public:
	int getRadius () const { return *itsRadius; }
	void setRadius (int radius) { *itsRadius = radius;}

	cSimpleCircle () ;
	cSimpleCircle (int radius);
	cSimpleCircle (cSimpleCircle&amp;);
	~cSimpleCircle ();

	cSimpleCircle&amp; operator++();
	cSimpleCircle operator++(int);
	cSimpleCircle&amp; operator=(cSimpleCircle&amp;);
};
</code></pre>
<p>Definition:</p>
<pre><code class="language-cpp">#include &quot;simplecircle.h&quot;

cSimpleCircle&amp; cSimpleCircle ::operator ++()
{
	++(*itsRadius);
	return *this;
}

cSimpleCircle cSimpleCircle::operator ++(int)
{
	cSimpleCircle temp(*this);
	++(*itsRadius);
	return temp;
}

cSimpleCircle::cSimpleCircle()
{
	itsRadius = new int;
	*itsRadius = 5;
}

cSimpleCircle::cSimpleCircle(int radius)
{
	itsRadius = new int;
	*itsRadius = radius;
}

cSimpleCircle::~cSimpleCircle()
{
	delete itsRadius;
	itsRadius = 0;
}

cSimpleCircle::cSimpleCircle(cSimpleCircle&amp; rhs)
{
	itsRadius = new int;
	*itsRadius = rhs.getRadius();
}

cSimpleCircle&amp; cSimpleCircle::operator =(cSimpleCircle &amp; rhs)
{
	if (this == &amp;rhs)
		return *this;
	delete itsRadius;
	itsRadius = new int;
	*itsRadius = rhs.getRadius();
	return *this;
}
</code></pre>
<p>Programmdatei mit int main()</p>
<pre><code class="language-cpp">#include &quot;simplecircle.cpp&quot;
#include &lt;iostream&gt;
using namespace std;

int main ()
{
	cSimpleCircle yellow;
	cSimpleCircle green (9);

	cout &lt;&lt; yellow.getRadius() &lt;&lt; endl;
	cout &lt;&lt; green.getRadius() &lt;&lt; endl;

	++green;
	++yellow;

	cout &lt;&lt; yellow.getRadius() &lt;&lt; endl;
	cout &lt;&lt; green.getRadius() &lt;&lt; endl;

	green = yellow;

	cout &lt;&lt; green.getRadius() &lt;&lt; endl;
	cout &lt;&lt; yellow.getRadius() &lt;&lt; endl;

	return 0;
}
</code></pre>
<p>Weiß einer Rat?</p>
<p>Danke im Voraus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1414316</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1414316</guid><dc:creator><![CDATA[Culfa]]></dc:creator><pubDate>Mon, 03 Dec 2007 15:47:44 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Linking on Mon, 03 Dec 2007 16:03:45 GMT]]></title><description><![CDATA[<blockquote>
<pre><code>#include &quot;simplecircle.cpp&quot;
</code></pre>
</blockquote>
<p>Man bindet nur Headerdateien ein <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /></p>
<pre><code>#include &quot;simplecircle.h&quot;
</code></pre>
<p>Gruss,<br />
DeSoVoDaMu</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1414327</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1414327</guid><dc:creator><![CDATA[DeSoVoDaMu]]></dc:creator><pubDate>Mon, 03 Dec 2007 16:03:45 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Linking on Mon, 03 Dec 2007 16:33:14 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#if !defined (CIRCLE_H__INCLUDED)
#define CIRCLE_H__INCLUDED

#if (_MSC_VER &gt;= 1300)
#pragma once
#endif // (_MSC_VER &gt;= 1300)

#include &quot;Shape.h&quot;

class Circle : public Shape
{
    double m_radius;

public:

    Circle(double radius = 0.0) : m_radius(radius) {}

    Circle&amp; operator++() { m_radius += 0.1; if (m_radius &gt;= 360.0) m_radius-= 360;  return *this; }

public:
    double get_radius() const { return m_radius; }
    void set_radius(double radius) { m_radius = std::min&lt;double&gt;(radius, 360.0); }
};

#endif // CIRCLE_H__INCLUDED
</code></pre>
<p>so ^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1414331</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1414331</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Mon, 03 Dec 2007 16:33:14 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Linking on Mon, 03 Dec 2007 16:32:16 GMT]]></title><description><![CDATA[<p>Funktioniert danke <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/1414344</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1414344</guid><dc:creator><![CDATA[Culfa]]></dc:creator><pubDate>Mon, 03 Dec 2007 16:32:16 GMT</pubDate></item></channel></rss>