<?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[Objekt erstellen]]></title><description><![CDATA[<p>Hi,</p>
<p>ich bin Neuling und habe eine Frage <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=":confused:"
      alt="😕"
    /></p>
<p>Wir sind an einem kleinen Programm, soweit funktioniert auch alles.</p>
<p>Hier ein Auszug aus der main:<br />
//Main Datei<br />
#include &lt;iostream&gt;<br />
#include &quot;Gas.h&quot;<br />
#include &quot;datenbank.h&quot;<br />
using namespace std;<br />
int main(){<br />
unsigned int first=0;<br />
unsigned int waehlen3=0;<br />
Gas test (&quot;Testgas&quot;,6,4); ....</p>
<p>Funktioniert auch alles soweit.<br />
Jetzt würden wir gerne eine Datei erstellen (Sie heißt bei uns datenbank.cpp) um dort alle Objekte vom Typ Gas zu erstellen (Also quasi eine extra Datei, in der Objekte erzeugt werden, um die main übersichtlicher zu gestalten.)</p>
<p>Wenn ich nun dieses Gas test(&quot;Testgas&quot;,6,4) in die Datenbank.cpp schreibe</p>
<p>--&gt; Datenbank.cpp</p>
<p>#include &lt;string&gt;<br />
#include &lt;iostream&gt;<br />
#include &quot;datenbank.h&quot;<br />
#include &quot;Gas.h&quot;<br />
using namespace std;<br />
Gas test (&quot;Testgas&quot;,3,4); //Warum kann er es jetzt nicht einlesen bzw. versteht es nicht?</p>
<p>--&gt;Datenbank.h<br />
#ifndef _DATENBANK_H_<br />
#define _DATENBANK_H_<br />
#endif</p>
<p>Wenn ich nun das Programm kompilieren will kriege ich leider eine Fehlermeldung <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title="=("
      alt="😞"
    /> Das verstehe ich nicht.</p>
<p>Nochmal: Das Ziel ist es Objekte zu erzeugen, aber diesen Text nicht in der Main.cpp zu schreiben.</p>
<p>Vielen Dank für eure Hilfe <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/topic/331545/objekt-erstellen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 01 May 2026 14:55:48 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/331545.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 06 Mar 2015 13:37:22 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Objekt erstellen on Fri, 06 Mar 2015 13:37:22 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich bin Neuling und habe eine Frage <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=":confused:"
      alt="😕"
    /></p>
<p>Wir sind an einem kleinen Programm, soweit funktioniert auch alles.</p>
<p>Hier ein Auszug aus der main:<br />
//Main Datei<br />
#include &lt;iostream&gt;<br />
#include &quot;Gas.h&quot;<br />
#include &quot;datenbank.h&quot;<br />
using namespace std;<br />
int main(){<br />
unsigned int first=0;<br />
unsigned int waehlen3=0;<br />
Gas test (&quot;Testgas&quot;,6,4); ....</p>
<p>Funktioniert auch alles soweit.<br />
Jetzt würden wir gerne eine Datei erstellen (Sie heißt bei uns datenbank.cpp) um dort alle Objekte vom Typ Gas zu erstellen (Also quasi eine extra Datei, in der Objekte erzeugt werden, um die main übersichtlicher zu gestalten.)</p>
<p>Wenn ich nun dieses Gas test(&quot;Testgas&quot;,6,4) in die Datenbank.cpp schreibe</p>
<p>--&gt; Datenbank.cpp</p>
<p>#include &lt;string&gt;<br />
#include &lt;iostream&gt;<br />
#include &quot;datenbank.h&quot;<br />
#include &quot;Gas.h&quot;<br />
using namespace std;<br />
Gas test (&quot;Testgas&quot;,3,4); //Warum kann er es jetzt nicht einlesen bzw. versteht es nicht?</p>
<p>--&gt;Datenbank.h<br />
#ifndef _DATENBANK_H_<br />
#define _DATENBANK_H_<br />
#endif</p>
<p>Wenn ich nun das Programm kompilieren will kriege ich leider eine Fehlermeldung <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title="=("
      alt="😞"
    /> Das verstehe ich nicht.</p>
<p>Nochmal: Das Ziel ist es Objekte zu erzeugen, aber diesen Text nicht in der Main.cpp zu schreiben.</p>
<p>Vielen Dank für eure Hilfe <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/2445647</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2445647</guid><dc:creator><![CDATA[phigo90]]></dc:creator><pubDate>Fri, 06 Mar 2015 13:37:22 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt erstellen on Fri, 06 Mar 2015 13:45:54 GMT]]></title><description><![CDATA[<blockquote>
<p>Wenn ich nun das Programm kompilieren will kriege ich leider eine Fehlermeldung <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title="=("
      alt="😞"
    /> Das verstehe ich nicht</p>
</blockquote>
<p>Und deshalb denkst du, dass wir sie auch nicht verstehen? <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/2445648</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2445648</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Fri, 06 Mar 2015 13:45:54 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt erstellen on Fri, 06 Mar 2015 13:51:30 GMT]]></title><description><![CDATA[<p>Also ich dachte da eher daran, dass ihr es versteht und ihr mir helfen könnt...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2445649</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2445649</guid><dc:creator><![CDATA[phigo90]]></dc:creator><pubDate>Fri, 06 Mar 2015 13:51:30 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt erstellen on Fri, 06 Mar 2015 13:59:04 GMT]]></title><description><![CDATA[<p>Soweit ich weiß ist hier aber keiner ausgebildeter Compiler von Beruf, von daher musst du die Fehlermeldung schon mitliefern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2445650</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2445650</guid><dc:creator><![CDATA[tkausl]]></dc:creator><pubDate>Fri, 06 Mar 2015 13:59:04 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt erstellen on Fri, 06 Mar 2015 14:02:27 GMT]]></title><description><![CDATA[<p>phigo90 schrieb:</p>
<blockquote>
<p>Also ich dachte da eher daran, dass ihr es versteht und ihr mir helfen könnt...</p>
</blockquote>
<p>Das schon... aber es ist einfacher mit Fehlermeldung. Ausserdem könntest du deinen Code noch in die entsprechenden Tags packen, dann ist es für helfende Forumsbesucher noch einfacher deinen Code zu lesen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
<p>Edit: Typo korrigiert</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2445651</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2445651</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Fri, 06 Mar 2015 14:02:27 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt erstellen on Fri, 06 Mar 2015 14:04:17 GMT]]></title><description><![CDATA[<p>Welchen Sinn hat Datenbank.h, wenn nichts außer Includeguards drin steht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2445652</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2445652</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Fri, 06 Mar 2015 14:04:17 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt erstellen on Fri, 06 Mar 2015 14:04:56 GMT]]></title><description><![CDATA[<p>Und: Zeig mal den Inhalt von Gas.h, denn das ist das interessant... auch Gas.cpp dürfte interessant sein..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2445653</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2445653</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Fri, 06 Mar 2015 14:04:56 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt erstellen on Fri, 06 Mar 2015 14:16:16 GMT]]></title><description><![CDATA[<p>Okay, danke für die hilfreichen Antworten, aller Anfang ist schwer und das niemand Compiler von Beruf ist, ist mir durchaus klar <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_savoring_food"
      title=":yum:"
      alt="😋"
    /></p>
<p>main.cpp</p>
<p>//Main Datei<br />
#include &lt;iostream&gt;<br />
#include &quot;Gas.h&quot;<br />
#include &quot;datenbank.h&quot;<br />
using namespace std;<br />
int main(){<br />
unsigned int first=0;<br />
unsigned int waehlen3=0;</p>
<p>cout &lt;&lt; &quot;Was moechten Sie ausfuehren?&quot;&lt;&lt; endl;<br />
cout &lt;&lt; &quot;1:Datenbank einsehen&quot;&lt;&lt;endl;<br />
cout &lt;&lt; &quot;2:Gas erstellen&quot;&lt;&lt;endl;<br />
cout &lt;&lt; &quot;3:Berechnung durchfuehren&quot;&lt;&lt;endl;<br />
cout &lt;&lt; &quot;4:Beenden des Programmes&quot; &lt;&lt;endl;</p>
<p>while(!(cin&gt;&gt;first) || first&lt;1 || first&gt;4){<br />
cerr &lt;&lt;&quot;Ihre Eingabe ist fehlerhaft&quot;&lt;&lt;endl;<br />
cerr &lt;&lt; &quot;Geben Sie mit Hilfe einer natuerlichen Zahl an, was sie gerne machen moechten&quot; &lt;&lt;endl;<br />
cin.clear(); // Falsche Eingabe, er springt in den Fehlermodus, lC6schen mit cin.clear<br />
cin.ignore(1000,'\n'); //Der Wert von waehlen bleibt noch im Speicher, aber er wird C&lt;berlesen<br />
}<br />
switch (first) {<br />
case 1:<br />
cout &lt;&lt;&quot;Test&quot;&lt;&lt;endl;<br />
cout &lt;&lt;&quot;Der cv Wert des ausgewaehlten Gases ist&quot; &lt;&lt;test.get_cv()&lt;&lt;endl;<br />
break;<br />
case 2:<br />
cout &lt;&lt;&quot;Test&quot;&lt;&lt;endl;<br />
break;<br />
case 3:<br />
cout &lt;&lt; &quot;Waehlen Sie die Art der Berechnung, welche Sie durchfuehren wollen&quot;&lt;&lt;endl;<br />
cout &lt;&lt; &quot;Fall 1: adiabate reversible Kompression&quot;&lt;&lt;endl;<br />
cout &lt;&lt; &quot;Fall 2: reversible Kompression&quot;&lt;&lt;endl;<br />
cout &lt;&lt; &quot;Fall 3: adiabte Kompression&quot;&lt;&lt;endl;<br />
cout &lt;&lt; &quot;Fall 4: Die Kompression wird mit Waermeleitung sowie Reibung (nicht reversibler Fall) berechnet&quot; &lt;&lt;endl;</p>
<p>while(!(cin&gt;&gt;waehlen3) || waehlen3&lt;1 || waehlen3&gt;4){<br />
cerr &lt;&lt;&quot;Ihre Eingabe ist fehlerhaft&quot;&lt;&lt;endl;<br />
cerr &lt;&lt; &quot;Geben Sie mit Hilfe einer natuerlichen Zahl an, mit welchem Rechenfall sie rechnen wollen&quot; &lt;&lt;endl;<br />
cin.clear(); // Falsche Eingabe, er springt in den Fehlermodus, lC6schen mit cin.clear<br />
cin.ignore(1000,'\n'); //Der Wert von waehlen bleibt noch im Speicher, aber er wird C&lt;berlesen<br />
}<br />
break;<br />
case 4:<br />
cout &lt;&lt;&quot;Vielen Dank und bis Bald&quot;&lt;&lt;endl;<br />
break;<br />
}</p>
<p>return 0;<br />
}</p>
<p>Gas.cpp</p>
<p>#include &lt;string&gt;<br />
#include &lt;iostream&gt;<br />
#include &quot;Gas.h&quot;<br />
using namespace std;</p>
<p>void Gas::set_MM(double GMM){<br />
MM=GMM;<br />
}</p>
<p>void Gas::set_cv(double Gcv){<br />
cv=Gcv;<br />
}</p>
<p>void Gas::set_Name(string GName){<br />
Name=GName;<br />
}<br />
//sollten wir die ganzen get_Methoden nicht als read only machen?<br />
double Gas::get_MM(){<br />
return MM;<br />
}<br />
double Gas::get_cv(){<br />
return cv;<br />
}<br />
string Gas::get_Name(){<br />
return Name;<br />
}<br />
// Professor macht es anderster, mit Zeiger, was sinnvoller, warum? Folie 100<br />
Gas::Gas(string GName,double GMM,double Gcv){<br />
set_MM(GMM);<br />
set_cv(Gcv);<br />
set_Name(GName);</p>
<p>}<br />
Gas::Gas (double GMM, double Gcv){<br />
set_MM(GMM);<br />
set_cv(Gcv);<br />
set_Name(&quot;&quot;);</p>
<p>}</p>
<p>Gas.h</p>
<p>#ifndef _GAS_H_<br />
#define _GAS_H_<br />
#include &lt;string&gt;</p>
<p>using namespace std;</p>
<p>class Gas{</p>
<p>private:<br />
string Name;<br />
double MM;<br />
double cv;</p>
<p>public:<br />
//Konstruktoren definiert<br />
Gas(string GName,double GMM,double Gcv);<br />
Gas (double GMM, double Gcv);<br />
//Destruktor, geht auch in *.cpp aber dann mit Gas::~Gas(){};<br />
~Gas(){};</p>
<p>void set_MM(double GMM);<br />
void set_cv(double Gcv);<br />
void set_Name(string GName);<br />
double get_MM();<br />
double get_cv();<br />
string get_Name();<br />
};</p>
<p>#endif</p>
<p>Jetzt ist das Ziel, eine eigene Datei zu schreiben &quot;datenbank.cpp&quot; in der Objekte erzeugt werden können, bisher funktioniert das nur wenn ich mein Testgas:<br />
Gas test(&quot;Testgas,2,3) in die Main.cpp schreibe, sobald der Text in die datenbank.cpp kommt ein Fehler</p>
<p>Neue Datenbank.cpp</p>
<p>#include &lt;string&gt;<br />
#include &lt;iostream&gt;<br />
#include &quot;datenbank.h&quot;<br />
#include &quot;Gas.h&quot;<br />
using namespace std;<br />
Gas test (&quot;Testgas&quot;,3,4); //Warum kann er es jetzt nicht einlesen bzw. versteht es nicht?</p>
<p>Fehlermeldung:</p>
<p>In function 'int main()':<br />
\main_aktuell.cpp [Error] 'test' was not declared in this scope<br />
\Makefile.win recipe for target 'main_aktuell.o'</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2445655</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2445655</guid><dc:creator><![CDATA[phigo90]]></dc:creator><pubDate>Fri, 06 Mar 2015 14:16:16 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt erstellen on Fri, 06 Mar 2015 14:25:57 GMT]]></title><description><![CDATA[<p>Bei dieser Zeile ist <code>test</code> unbekannt.</p>
<pre><code>cout &lt;&lt;&quot;Der cv Wert des ausgewaehlten Gases ist&quot; &lt;&lt;test.get_cv()&lt;&lt;endl;
</code></pre>
<p>Du kannst folgendes tun:</p>
<p>Verschiebe <code>Gas test (&quot;Testgas&quot;,3,4);</code> aus <code>Datenbank.cpp</code> ins <code>main.cpp</code> und zwar in die <code>main()</code> -Funktion.</p>
<p>Edit:<br />
.. in die <code>main()</code> -Funktion und zwar möglichst nahe an den Ort wo du es benötigst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2445658</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2445658</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Fri, 06 Mar 2015 14:25:57 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt erstellen on Fri, 06 Mar 2015 14:27:03 GMT]]></title><description><![CDATA[<p>Ja, das weiß ich bereits, dass dies funktioniert. Ist es nicht möglich in einer Extra Datei die Objekte zu erzeugen, damit die Main übersichtlicher wird.</p>
<p>Danke für die Hilfe <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/2445659</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2445659</guid><dc:creator><![CDATA[phigo90]]></dc:creator><pubDate>Fri, 06 Mar 2015 14:27:03 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt erstellen on Fri, 06 Mar 2015 14:28:24 GMT]]></title><description><![CDATA[<p>Thetas Vorschlag ist natürlich der Sinnvollste.<br />
Trotzdem eben, was da schief geht:</p>
<p>Wenn du die Fehlermeldung richtig gelesen hättest, dann wäre dir klar, dass nicht die von dir angezeigte Stelle das Problem ist, sondern dass er test nicht findet.<br />
Wie auch?<br />
Um das auffindbar zu machen, müsstest du test in datenbank.h deklarien (und inkludieren), damit main weiss, was test ist:</p>
<pre><code>// datenbank.h
extern Gas test;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2445660</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2445660</guid><dc:creator><![CDATA[Jockelx]]></dc:creator><pubDate>Fri, 06 Mar 2015 14:28:24 GMT</pubDate></item></channel></rss>