<?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[OOP Problem mit Konstruktor]]></title><description><![CDATA[<p>Hallo zusammen ich fummel schon ein paar Tage an meinen ersten OOP rum und es kam zu einen mit völlig unverständlichen Fehler! Vieleicht weiß jemand von den Usern hier wo der Hund begraben liegt?<br />
Also erstmal die .h Datei:</p>
<pre><code>[cpp]#ifndef CFaktoren
#include &lt;iostream&gt;
using namespace std;

class CFaktoren {
	private:
		double spannung;
		double temperatur;
		double prozess;
		double spannungsFaktor;
		double temperaturFaktor;
		double prozessFaktor;

		void berechneSpannungsFaktor();
		void berechneTemperaturFaktor();
		void berechneProzessFaktor();
		double berechneFaktor(double value, 
							       double arry[2],
							       int laenge);
		double interpolation (double value,
							       double x1,
							       double x2,
							       double y1,
							       double y2);
	public:
		CFaktoren();
		~CFaktoren();
		void bestimmeFaktoren();
		void ausgabeFaktoren();
		void getFaktoren(double spannungsFaktor, 
			        	     double temperaturFaktor, 
					        double prozessFaktor);
#endif CFakroten
}

und nun die .cpp Datei:

#include &quot;CFaktoren.h&quot;

void CFaktoren::bestimmeFaktoren(){
   cout &lt;&lt; &quot;Bitte geben sie 1. die Spannung ein, 2. die Temperatur und 3. den Prozess22&quot; &lt;&lt;endl;
}
</code></pre>
<p>Als Comp.fehlermeldung bekomme ich:<br />
-error C2628: 'CFaktoren' gefolgt von 'void' unzulässig (Semikolon ';'<br />
vergessen?)</p>
<p>-error C2556: 'CFaktoren CFaktoren::bestimmeFaktoren(void)': Überladene<br />
Funktion unterscheidet sich nur hinsichtlich des Rückgabetyps von 'void<br />
CFaktoren::bestimmeFaktoren(void)'</p>
<p>-error C2371: 'CFaktoren::bestimmeFaktoren': Neudefinition; unterschiedliche<br />
Basistypen</p>
<p>Möglich das die Fehler zusammen hängen, aber ich hab kein Plan was ich beim Aufruf des Konstruktors falsch gemacht haben soll?</p>
<p>Danke für die Hilfe<br />
MFG Blade</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/244061/oop-problem-mit-konstruktor</link><generator>RSS for Node</generator><lastBuildDate>Sat, 19 Sep 2026 13:44:25 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/244061.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 24 Jun 2009 15:07:27 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to OOP Problem mit Konstruktor on Wed, 24 Jun 2009 15:07:27 GMT]]></title><description><![CDATA[<p>Hallo zusammen ich fummel schon ein paar Tage an meinen ersten OOP rum und es kam zu einen mit völlig unverständlichen Fehler! Vieleicht weiß jemand von den Usern hier wo der Hund begraben liegt?<br />
Also erstmal die .h Datei:</p>
<pre><code>[cpp]#ifndef CFaktoren
#include &lt;iostream&gt;
using namespace std;

class CFaktoren {
	private:
		double spannung;
		double temperatur;
		double prozess;
		double spannungsFaktor;
		double temperaturFaktor;
		double prozessFaktor;

		void berechneSpannungsFaktor();
		void berechneTemperaturFaktor();
		void berechneProzessFaktor();
		double berechneFaktor(double value, 
							       double arry[2],
							       int laenge);
		double interpolation (double value,
							       double x1,
							       double x2,
							       double y1,
							       double y2);
	public:
		CFaktoren();
		~CFaktoren();
		void bestimmeFaktoren();
		void ausgabeFaktoren();
		void getFaktoren(double spannungsFaktor, 
			        	     double temperaturFaktor, 
					        double prozessFaktor);
#endif CFakroten
}

und nun die .cpp Datei:

#include &quot;CFaktoren.h&quot;

void CFaktoren::bestimmeFaktoren(){
   cout &lt;&lt; &quot;Bitte geben sie 1. die Spannung ein, 2. die Temperatur und 3. den Prozess22&quot; &lt;&lt;endl;
}
</code></pre>
<p>Als Comp.fehlermeldung bekomme ich:<br />
-error C2628: 'CFaktoren' gefolgt von 'void' unzulässig (Semikolon ';'<br />
vergessen?)</p>
<p>-error C2556: 'CFaktoren CFaktoren::bestimmeFaktoren(void)': Überladene<br />
Funktion unterscheidet sich nur hinsichtlich des Rückgabetyps von 'void<br />
CFaktoren::bestimmeFaktoren(void)'</p>
<p>-error C2371: 'CFaktoren::bestimmeFaktoren': Neudefinition; unterschiedliche<br />
Basistypen</p>
<p>Möglich das die Fehler zusammen hängen, aber ich hab kein Plan was ich beim Aufruf des Konstruktors falsch gemacht haben soll?</p>
<p>Danke für die Hilfe<br />
MFG Blade</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1732214</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1732214</guid><dc:creator><![CDATA[blade1982]]></dc:creator><pubDate>Wed, 24 Jun 2009 15:07:27 GMT</pubDate></item><item><title><![CDATA[Reply to OOP Problem mit Konstruktor on Wed, 24 Jun 2009 15:13:57 GMT]]></title><description><![CDATA[<p>Die Klassendefinition muss mit einem Semikolon abgeschlossen werden. Und was für Körperteile sind Fakroten?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1732217</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1732217</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Wed, 24 Jun 2009 15:13:57 GMT</pubDate></item><item><title><![CDATA[Reply to OOP Problem mit Konstruktor on Wed, 24 Jun 2009 15:19:26 GMT]]></title><description><![CDATA[<p>Fakroten hab ich anscheind......sollte mal zum Doc. gehen.<br />
Danke für die schnelle Hilfe, ich wuste natürlich das da ein ; hinkommen muss, aber gesehen das das fehlt hab ich nun wirklich nicht.<br />
Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1732223</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1732223</guid><dc:creator><![CDATA[blade1982]]></dc:creator><pubDate>Wed, 24 Jun 2009 15:19:26 GMT</pubDate></item><item><title><![CDATA[Reply to OOP Problem mit Konstruktor on Wed, 24 Jun 2009 15:24:32 GMT]]></title><description><![CDATA[<p><strong>faktoren.h</strong></p>
<pre><code class="language-cpp">#ifndef MeineCFaktoren // sollte nicht den gleichen Bezeichner haben wie die Klasse
#define MeineCFaktoren

// #include &lt;iostream&gt; brauchst du in deinem Header nicht, also raus damit
// using namespace std; sollte besser nie in einem Header stehen

class CFaktoren { 
    private: 
        double spannung; 
        double temperatur; 
        double prozess; 
        double spannungsFaktor; 
        double temperaturFaktor; 
        double prozessFaktor; 

        void berechneSpannungsFaktor(); 
        void berechneTemperaturFaktor(); 
        void berechneProzessFaktor(); 
        double berechneFaktor(double value, double *arry, int laenge); 
        double interpolation (double value, double x1, double x2, double y1, double y2); 
    public: 
        CFaktoren(); 
        ~CFaktoren(); 
        void bestimmeFaktoren(); 
        void ausgabeFaktoren(); 
        void getFaktoren(double spannungsFaktor, double temperaturFaktor, double prozessFaktor); 
}; // Semikolon vergessen
#endif // und dies erst am Schluss
</code></pre>
<p><strong>faktoren.cpp</strong></p>
<pre><code class="language-cpp">#include &quot;faktoren.h&quot;
#include &lt;iostream&gt;

void CFaktoren::bestimmeFaktoren(){ 
	std::cout &lt;&lt; &quot;Bitte geben sie 1. die Spannung ein, 2. die Temperatur und 3. den Prozess22&quot; &lt;&lt; std::endl; 
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1732227</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1732227</guid><dc:creator><![CDATA[Mizar]]></dc:creator><pubDate>Wed, 24 Jun 2009 15:24:32 GMT</pubDate></item><item><title><![CDATA[Reply to OOP Problem mit Konstruktor on Wed, 24 Jun 2009 15:50:31 GMT]]></title><description><![CDATA[<p>Danke für die Tips, eine Frage bleibt noch und zwar wie kann ich die einzelnen Methoden testen ? Im moment ist es ja nur eine Methode aber wie kann ich feststellen ob sie Funktioniert?<br />
MFG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1732238</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1732238</guid><dc:creator><![CDATA[blade1982]]></dc:creator><pubDate>Wed, 24 Jun 2009 15:50:31 GMT</pubDate></item><item><title><![CDATA[Reply to OOP Problem mit Konstruktor on Wed, 24 Jun 2009 16:11:05 GMT]]></title><description><![CDATA[<p>Dazu solltest du noch deinen Konstruktor und Destruktor definieren, da diese beim Anlegen bzw. beim Zerstören eines Klassenobjekts automatisch aufgerufen werden. Alternativ kannst du auch einfach den standardmäßig bereitgestellten Konstruktor / Destruktor verwenden, in dem du entweder die entsprechenden Deklarationen aus deinem Header entfernst, oder diese simplerweise auskommentierst:</p>
<pre><code class="language-cpp">public: 
        //CFaktoren();    Konstruktor auskommentiert, Standardkonstruktor wird automatisch bereitgestellt, da nun kein Konstruktor mehr angegeben
        //~CFaktoren();   Destruktor auskommentiert, Standarddestruktor wird automatisch bereitgestellt, da nun kein Destruktor mehr angegeben
</code></pre>
<p>Und anschließend schreibst du in deine main-Funktion meinetwegen sowas:</p>
<pre><code class="language-cpp">#include &quot;faktoren.h&quot;

int main()
{
	CFaktoren faktoren;
	faktoren.bestimmeFaktoren(); // Aufruf der Memberfunktion
}
</code></pre>
<p>Ruck zuck Kompilieren und dann entweder Ausgabe bewundern oder Fehler analysieren ;).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1732245</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1732245</guid><dc:creator><![CDATA[Mizar]]></dc:creator><pubDate>Wed, 24 Jun 2009 16:11:05 GMT</pubDate></item><item><title><![CDATA[Reply to OOP Problem mit Konstruktor on Thu, 25 Jun 2009 08:54:41 GMT]]></title><description><![CDATA[<pre><code>#include &quot;CFaktoren.h&quot;

void CFaktoren::bestimmeFaktoren(){
   cout &lt;&lt; &quot;Test&quot; &lt;&lt;endl;
}
int main() {
   CFaktoren test;
   test.bestimmeFaktoren();
}
</code></pre>
<p>Ich habe versucht bestimmteFaktoren du def. und die dann mit int main ein Objekt Test von CFaktoren zu erstellen und dort die Methode bestimmteFaktoren aufzurufen.</p>
<p>Leider gibt das diesen Fehler:</p>
<p>public: __thiscall CFaktoren::~CFaktoren(void)&quot; (??1CFaktoren@@QAE@XZ)&quot; in Funktion &quot;_main&quot;.</p>
<p>sowie</p>
<p>fatal error LNK1120: 2 nicht aufgelöste externe Verweise</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1732539</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1732539</guid><dc:creator><![CDATA[blade1982]]></dc:creator><pubDate>Thu, 25 Jun 2009 08:54:41 GMT</pubDate></item><item><title><![CDATA[Reply to OOP Problem mit Konstruktor on Thu, 25 Jun 2009 09:00:34 GMT]]></title><description><![CDATA[<p>blade1982 schrieb:</p>
<blockquote>
<p>Ich habe hier nun versucht die Funktion bestimmeFaktoren zu def. aber das geht mal wieder nicht wirklich....</p>
<p>#include &quot;CFaktoren.h&quot;</p>
<p>int main() {<br />
CFaktoren test;<br />
test.bestimmeFaktoren();<br />
{<br />
cout &lt;&lt;&quot;Hallo&quot; &lt;&lt;endl;<br />
}<br />
}<br />
Ich erstelle mit den Konstruktor das Objekt test und rufe von Objekt test die Methode bestimmeFaktoren() auf, da drunter möchte ich dann def. was die Funktion bestimmteFaktoren machen soll.<br />
Habe ich da eine falsche Denkweise?<br />
MFG Blade</p>
</blockquote>
<pre><code>#include &quot;CFaktoren.h&quot;

CFaktoren::~CFaktoren() {
  ...
}

CFaktoren::bestimmeFaktoren() {
  ...
}

int main() {
   CFaktoren test;
   test.bestimmeFaktoren();
}
</code></pre>
<p>Es ist aber eine ganz schlecht Idee die Präsentationsschicht in eine Klasse der Daten- oder Geschäftslogikschicht zu mischen. Mach lieber eine setFaktoren(....), die Dateneingabe separat und rufe setFaktoren() dann mit den eingegebenen Parametern auf, also so was wie:</p>
<pre><code>#include &quot;CFaktoren.h&quot;

CFaktoren::setFaktoren(...) {
  ...
}

int main() {
   CFaktoren test;
   ... // hier die Eingaben entgegennehmen
   test.setFaktoren(...);
}
</code></pre>
<p>Und bitte, bitte Code-Tags benutzen!!!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1732546</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1732546</guid><dc:creator><![CDATA[jencas]]></dc:creator><pubDate>Thu, 25 Jun 2009 09:00:34 GMT</pubDate></item><item><title><![CDATA[Reply to OOP Problem mit Konstruktor on Thu, 25 Jun 2009 09:32:32 GMT]]></title><description><![CDATA[<p>Nun mir ist leider die Klasse so vorgegeben somit wird das nicht zu ändern sein.</p>
<p>Also wenn ich das richtig gesehen habe hast du da den Destruktor eingebaut...<br />
aber warum?</p>
<p>Hier nochmal der Code:</p>
<pre><code>#include &quot;CFaktoren.h&quot;

CFaktoren::~CFaktoren() {
}
void CFaktoren::bestimmeFaktoren() {
   cout &lt;&lt; &quot;Test&quot; &lt;&lt;endl;
}
int main() {
   CFaktoren test;
   test.bestimmeFaktoren();
}
</code></pre>
<p>So oder so bleibt immer noch der Fehler &quot;fatal error LNK1120: 1 nicht aufgelöste externe Verweise.&quot; &lt;&lt;Was das auch immer heißen soll&lt;&lt;<br />
außerdem:<br />
CFaktoren(void)&quot; (??0CFaktoren@@QAE@XZ)&quot; in Funktion &quot;_main&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1732573</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1732573</guid><dc:creator><![CDATA[blade1982]]></dc:creator><pubDate>Thu, 25 Jun 2009 09:32:32 GMT</pubDate></item><item><title><![CDATA[Reply to OOP Problem mit Konstruktor on Thu, 25 Jun 2009 11:02:41 GMT]]></title><description><![CDATA[<p>blade1982 schrieb:</p>
<blockquote>
<p>Nun mir ist leider die Klasse so vorgegeben somit wird das nicht zu ändern sein.</p>
</blockquote>
<p>Mein herzliches Beileid!</p>
<blockquote>
<p>Also wenn ich das richtig gesehen habe hast du da den Destruktor eingebaut...<br />
aber warum?</p>
</blockquote>
<p>Weil Du im .h einen deklariert hast, aber weder im .h noch im .cpp einen definiert hast.</p>
<blockquote>
<p>Hier nochmal der Code:</p>
<pre><code>#include &quot;CFaktoren.h&quot;

CFaktoren::~CFaktoren() {
}
void CFaktoren::bestimmeFaktoren() {
   cout &lt;&lt; &quot;Test&quot; &lt;&lt;endl;
}
int main() {
   CFaktoren test;
   test.bestimmeFaktoren();
}
</code></pre>
<p>So oder so bleibt immer noch der Fehler &quot;fatal error LNK1120: 1 nicht aufgelöste externe Verweise.&quot; &lt;&lt;Was das auch immer heißen soll&lt;&lt;<br />
außerdem:<br />
CFaktoren(void)&quot; (??0CFaktoren@@QAE@XZ)&quot; in Funktion &quot;_main&quot;.</p>
</blockquote>
<p>Ganz einfach, Du benutzt vermutlich den operator &lt;&lt; eines Objektes einer Klasse, für das der operator nicht vorhanden ist. Die zweite Fehlermeldung beim Linken bezieht sich auf den Konstruktor, den Du ebenfalls deklariert, aber nicht definiert hast.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1732613</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1732613</guid><dc:creator><![CDATA[jencas]]></dc:creator><pubDate>Thu, 25 Jun 2009 11:02:41 GMT</pubDate></item><item><title><![CDATA[Reply to OOP Problem mit Konstruktor on Thu, 25 Jun 2009 11:04:16 GMT]]></title><description><![CDATA[<p>blade1982 schrieb:</p>
<blockquote>
<p>...</p>
<pre><code class="language-cpp">class CFaktoren {
...		CFaktoren();
</code></pre>
<p>...</p>
</blockquote>
<p>Den musst Du nicht nur &quot;deklarieren&quot; (= &quot;ankündigen, dass es ihn gibt&quot;), sondern auch &quot;definieren&quot; (= &quot;zeigen, wie er aussieht&quot;, auch &quot;Implementation&quot; genannt).</p>
<p>Übrigens: &quot;triviale&quot; Konstruktoren und Destruktoren braucht man nicht zu deklarieren - lass einfach die Deklaration (in der Klasse &quot;CFaktoren();&quot; und &quot;~CFaktoren();&quot;) weg. Dann brauchst Du auch keine Definition und der Compiler schenkt Dir den passenden Konstruktor/Destruktor.</p>
<p>Und designtechnisch solltest Du Dir überlegen, ob Du mit einem &quot;defaultkonstruierten Objekt&quot; (also einem, bei dem die Werte nicht sinnvoll gesetzt sind) mit anschließender (manuell aufzurufenden ... und leicht zu vergessenden) &quot;bestimme-&quot;Funktion wirklich gut bedient bist.<br />
Alles, was &quot;bestimme-&quot; kann, kann der Konstruktor auch ...und sogar noch viel mehr.</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1732617</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1732617</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Thu, 25 Jun 2009 11:04:16 GMT</pubDate></item><item><title><![CDATA[Reply to OOP Problem mit Konstruktor on Thu, 25 Jun 2009 11:35:08 GMT]]></title><description><![CDATA[<p>Wie schon oben gesagt mit ist diese Klasse mit den Methoden vorgegeben....</p>
<p>Bei den beiden oben genannten Fehlermeldungen bin ich leider immer noch nicht weiter.<br />
Das cout &lt;&lt;....&lt;&lt;endl; ist ja eigentlich möglich über #include &lt;iostream&gt;.<br />
Dieser steht in der .h Datei und die .h Datei ist in meine .cpp Datei ebenfalls includiert mit #include &quot;.....h&quot;.<br />
Also sollte da dadran nicht liegen.....</p>
<p>MFG Blade</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1732642</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1732642</guid><dc:creator><![CDATA[blade1982]]></dc:creator><pubDate>Thu, 25 Jun 2009 11:35:08 GMT</pubDate></item><item><title><![CDATA[Reply to OOP Problem mit Konstruktor on Thu, 25 Jun 2009 12:23:03 GMT]]></title><description><![CDATA[<p>...und das &quot;using namespace std;&quot; im .h brauchst Du auch nicht, jedenfalls sehe ich nicht, dass da irgendwas aus diesem namespace benutzt wird. In das .cpp gehört es natürlich rein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1732676</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1732676</guid><dc:creator><![CDATA[jencas]]></dc:creator><pubDate>Thu, 25 Jun 2009 12:23:03 GMT</pubDate></item><item><title><![CDATA[Reply to OOP Problem mit Konstruktor on Thu, 25 Jun 2009 13:01:33 GMT]]></title><description><![CDATA[<p>blade1982 schrieb:</p>
<blockquote>
<p>Wie schon oben gesagt mit ist diese Klasse mit den Methoden vorgegeben...</p>
</blockquote>
<p>OK - habe ich überlesen.<br />
(BTW: Über die Frage, ob Kon-/Destruktor &quot;Methoden&quot; sind, wurde hier schon heftig gestritten ... mit der Tendenz zu &quot;nein&quot; <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>Aber es bleibt: Wenn Du einen Konstruktor deklarierst, MUSST Du ihn auch definieren (kannst Du so machen wie beim Destruktor) .<br />
Wenn ich das nicht nur übersehen habe, fehlt der .... und das könnte auch zur Fehlermeldung (&quot;Faktoren(void)&quot; (??0CFaktoren@@QAE@XZ)&quot; in Funktion &quot;_main&quot;.) passen....</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1732690</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1732690</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Thu, 25 Jun 2009 13:01:33 GMT</pubDate></item><item><title><![CDATA[Reply to OOP Problem mit Konstruktor on Thu, 25 Jun 2009 13:28:17 GMT]]></title><description><![CDATA[<p>jencas schrieb:</p>
<blockquote>
<p>...und das &quot;using namespace std;&quot; im .h brauchst Du auch nicht, jedenfalls sehe ich nicht, dass da irgendwas aus diesem namespace benutzt wird. In das .cpp gehört es natürlich rein.</p>
</blockquote>
<p>Selbst wenn in der Header etwas enthalten wäre, das den Namensraum nutzt sollte man zumindest im Header immer auf ein using namespace verzichten (Dies macht den namensraum global sichtbar und macht Namensräume unsinnig).</p>
<p>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1732707</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1732707</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Thu, 25 Jun 2009 13:28:17 GMT</pubDate></item><item><title><![CDATA[Reply to OOP Problem mit Konstruktor on Thu, 25 Jun 2009 13:41:23 GMT]]></title><description><![CDATA[<p>asc schrieb:</p>
<blockquote>
<p>jencas schrieb:</p>
<blockquote>
<p>...und das &quot;using namespace std;&quot; im .h brauchst Du auch nicht, jedenfalls sehe ich nicht, dass da irgendwas aus diesem namespace benutzt wird. In das .cpp gehört es natürlich rein.</p>
</blockquote>
<p>Selbst wenn in der Header etwas enthalten wäre, das den Namensraum nutzt sollte man zumindest im Header immer auf ein using namespace verzichten (Dies macht den namensraum global sichtbar und macht Namensräume unsinnig).</p>
<p>cu André</p>
</blockquote>
<p>Ja, dies dem TO bei seinem offensichtlich mageren Kenntnisstand auch noch zu vermitteln, habe ich mir (und ihm) erst einmal ersparen wollen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1732710</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1732710</guid><dc:creator><![CDATA[jencas]]></dc:creator><pubDate>Thu, 25 Jun 2009 13:41:23 GMT</pubDate></item><item><title><![CDATA[Reply to OOP Problem mit Konstruktor on Thu, 25 Jun 2009 16:22:26 GMT]]></title><description><![CDATA[<p>blade1982 schrieb:</p>
<blockquote>
<p>public: __thiscall CFaktoren::~CFaktoren(void)&quot; (??1CFaktoren@@QAE@XZ)&quot; in Funktion &quot;_main&quot;.</p>
<p>sowie</p>
<p>fatal error LNK1120: 2 nicht aufgelöste externe Verweise</p>
</blockquote>
<p>Bedeutung (kurz &amp; knapp): Der <strong>in Funktion main</strong> (automatisch) aufgerufene Destruktor <strong>CFaktoren::~CFaktoren(void)</strong> wurde nicht definiert. Die andere von dir gepostete Fehlermeldung ist ähnlich, weswegen ich mir mal das posten der Bedeutung spare. In meinem 2. Post in diesem Thread hatte ich dir eigentlich schon die Lösung für dieses Problem beschrieben:</p>
<p>Mizar schrieb:</p>
<blockquote>
<p>Dazu solltest du noch deinen Konstruktor und Destruktor definieren, da diese beim Anlegen bzw. beim Zerstören eines Klassenobjekts automatisch aufgerufen werden. Alternativ kannst du auch einfach den standardmäßig bereitgestellten Konstruktor / Destruktor verwenden, in dem du entweder die entsprechenden Deklarationen aus deinem Header entfernst, oder diese simplerweise auskommentierst:</p>
<pre><code class="language-cpp">public: 
        //CFaktoren();    Konstruktor auskommentiert, Standardkonstruktor wird automatisch bereitgestellt, da nun kein Konstruktor mehr angegeben
        //~CFaktoren();   Destruktor auskommentiert, Standarddestruktor wird automatisch bereitgestellt, da nun kein Destruktor mehr angegeben
</code></pre>
</blockquote>
<p>Edit: Upps, Beitrag (Post) mit Thema (Thread) verwechselt <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1732799</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1732799</guid><dc:creator><![CDATA[Mizar]]></dc:creator><pubDate>Thu, 25 Jun 2009 16:22:26 GMT</pubDate></item></channel></rss>