<?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[Fragen zu Programm...]]></title><description><![CDATA[<p>Hi, das ist mein Programm:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

class Temperatur
{
    private:
        double celsius;
        double fahrenheit;
    public:
        double leseC(void) { return celsius; }
        double leseF(void) { return fahrenheit; }
        void speicherC(void);
        void speicherF(void);
};

void Temperatur::speicherC(void)
{
    cout &lt;&lt; &quot;\nBitte Celsius eingeben: &quot;;
    cin &gt;&gt; celsius;
    fahrenheit = 9.0 / 5.0 * celsius + 32.0;
}

void Temperatur::speicherF(void)
{
    cout &lt;&lt; &quot;\nBitte Fahrenheit eingeben: &quot;;
    cin &gt;&gt; fahrenheit;
    fahrenheit = 5.0 / 9.0 * (fahrenheit - 32.0);
}   

int main()
{
    Temperatur templ;
    temp1.speicherC();
    cout &lt;&lt; &quot;\nWert in Celsius   : &quot; &lt;&lt; temp1.leseC();
    cout &lt;&lt; &quot;\nWert in Fahrenheit: &quot; &lt;&lt; temp1.leseF();

    fflush(stdin); cin.peek();
    return 0;
}
</code></pre>
<p>Und ich versteh da einige Sachen nicht dran...<br />
wieso steht da als Parameter void, wenn man celsius oder fahrenheit übergeben muss?</p>
<p>und was heißt private? man kann die variablen mit ihren werten doch sowieso ändern...</p>
<p>und die speicherfunktionen geben auch was zurück und haben auch void <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="😞"
    /> wieso??</p>
<p>außerdem wird speicherF gar nicht aufgerufen in main oder sonst wo, aber wenn man das programm laufen lässt, dann wird es ausgeführt... versteh icht...</p>
<p>helft mir mal bitte!!<br />
danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/128466/fragen-zu-programm</link><generator>RSS for Node</generator><lastBuildDate>Tue, 25 Aug 2026 17:10:16 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/128466.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 03 Dec 2005 21:38:27 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Fragen zu Programm... on Sat, 03 Dec 2005 21:38:27 GMT]]></title><description><![CDATA[<p>Hi, das ist mein Programm:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

class Temperatur
{
    private:
        double celsius;
        double fahrenheit;
    public:
        double leseC(void) { return celsius; }
        double leseF(void) { return fahrenheit; }
        void speicherC(void);
        void speicherF(void);
};

void Temperatur::speicherC(void)
{
    cout &lt;&lt; &quot;\nBitte Celsius eingeben: &quot;;
    cin &gt;&gt; celsius;
    fahrenheit = 9.0 / 5.0 * celsius + 32.0;
}

void Temperatur::speicherF(void)
{
    cout &lt;&lt; &quot;\nBitte Fahrenheit eingeben: &quot;;
    cin &gt;&gt; fahrenheit;
    fahrenheit = 5.0 / 9.0 * (fahrenheit - 32.0);
}   

int main()
{
    Temperatur templ;
    temp1.speicherC();
    cout &lt;&lt; &quot;\nWert in Celsius   : &quot; &lt;&lt; temp1.leseC();
    cout &lt;&lt; &quot;\nWert in Fahrenheit: &quot; &lt;&lt; temp1.leseF();

    fflush(stdin); cin.peek();
    return 0;
}
</code></pre>
<p>Und ich versteh da einige Sachen nicht dran...<br />
wieso steht da als Parameter void, wenn man celsius oder fahrenheit übergeben muss?</p>
<p>und was heißt private? man kann die variablen mit ihren werten doch sowieso ändern...</p>
<p>und die speicherfunktionen geben auch was zurück und haben auch void <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="😞"
    /> wieso??</p>
<p>außerdem wird speicherF gar nicht aufgerufen in main oder sonst wo, aber wenn man das programm laufen lässt, dann wird es ausgeführt... versteh icht...</p>
<p>helft mir mal bitte!!<br />
danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/933516</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/933516</guid><dc:creator><![CDATA[Ania87]]></dc:creator><pubDate>Sat, 03 Dec 2005 21:38:27 GMT</pubDate></item><item><title><![CDATA[Reply to Fragen zu Programm... on Sat, 03 Dec 2005 22:26:45 GMT]]></title><description><![CDATA[<p>Hi. Die Daten werden allesamt in einer Klasse (Temperatur) gespeichert, daher ein bisschen Theorie über Klassen.</p>
<p>Kommen wir gleich zum Begriff <em>private</em>: Der legt fest, dass auf die Daten in diesem Bereich nicht außerhalb der Klasse zugegriffen werden kann. Variablen sollten in der Regel immer in diesem Bereich liegen, bei Klassen empfiehlt es sich über Methoden auf die Daten zuzugreifen (private ist auch der Standardbereich). Unter <em>public</em> stehen die Elemente, auf die auch auch von außerhalb zugegriffen werden kann. Hier deklariert man normalerweise die <em>Methoden</em>, mit denen man passiv auf die gespeicherten Werte zugreift. Definiert werden sie bei diesem Programm teilweise weiter unten.</p>
<p>Nur <em>leseC()</em> und <em>leseF()</em> haben einen Rückgabewert. <em>speicherF()</em> und <em>speicherC()</em> nehmen direkt eine Benutzereingabe entgegen und speichern den eingelesenen Wert in der Klasse ab. <em>speicherF</em> wird nicht aufgerufen - könnte aber aufgerufen werden. Das Programm fragt schließlich aber Grad Celsius ab.</p>
<p>Hier der Programmablauf:</p>
<pre><code class="language-cpp">int main()
{
    Temperatur templ;   // Klasseninstanz wird angelegt
    temp1.speicherC();  // speicherC wird aufgerufen, -&gt; Benutzerabfrage
    cout &lt;&lt; &quot;\nWert in Celsius   : &quot; &lt;&lt; temp1.leseC(); // leseC() liefert Grad Celsius zurück
    cout &lt;&lt; &quot;\nWert in Fahrenheit: &quot; &lt;&lt; temp1.leseF(); // leseF() liefert Grad Fahrenheit zurück

    fflush(stdin); cin.peek(); // &quot;Aufräumen&quot;
    return 0;                  // main() gibt 0 zurück, Programm erfolgreich beendet
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/933545</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/933545</guid><dc:creator><![CDATA[BloodLord]]></dc:creator><pubDate>Sat, 03 Dec 2005 22:26:45 GMT</pubDate></item><item><title><![CDATA[Reply to Fragen zu Programm... on Sat, 03 Dec 2005 22:38:41 GMT]]></title><description><![CDATA[<p>Hey danke schön... ich glaub jetzt hab ich das auch größtenteils verstanden!!</p>
<p>hab aber noch ein paar kleine Fragen <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>Da die 2 Variablen private ist, können nur die Methoden auf sie zugreifen und sie ändern, ja? Aber wenn ich jetzt in main was ändern wollen würde, indem ic celsius = andererwert schreiben würde, ginge das nicht?</p>
<p>Ja und das mit den Void versteh ich immernoch nicht ganz...<br />
ist das jetzt so, dass wenn die Methoden auf die Variablen zugreifen, sie dann automatisch als Parameter haben?</p>
<p>und nur eins noch, dann ist mir alles klar <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="🙂"
    /><br />
Wenn das Programm gestartet wird und ich zum Beispiel 100 eingebe für Celsius, dann kommt folgende Ausgabe:<br />
Wert in Celsius: 100<br />
Wert in Fahrenheit: 212<br />
das heißt, dass die funktion speicherF ausgeführt wird, ohne dass sie irgendwo aufgerufen wird. das versteh ich gar nicht...</p>
<p>Tschöö!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/933572</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/933572</guid><dc:creator><![CDATA[Ania87]]></dc:creator><pubDate>Sat, 03 Dec 2005 22:38:41 GMT</pubDate></item><item><title><![CDATA[Reply to Fragen zu Programm... on Sat, 03 Dec 2005 22:53:22 GMT]]></title><description><![CDATA[<p>Ania87 schrieb:</p>
<blockquote>
<p>Wenn das Programm gestartet wird und ich zum Beispiel 100 eingebe für Celsius, dann kommt folgende Ausgabe:<br />
Wert in Celsius: 100<br />
Wert in Fahrenheit: 212<br />
das heißt, dass die funktion speicherF ausgeführt wird, ohne dass sie irgendwo aufgerufen wird. das versteh ich gar nicht...</p>
</blockquote>
<p>Ne die wird nirgends aufgerufen aber sieh dir speicherC mal genau an</p>
<pre><code class="language-cpp">void Temperatur::speicherC(void)
{
    cout &lt;&lt; &quot;\nBitte Celsius eingeben: &quot;;
    cin &gt;&gt; celsius;                           // celsius wird gelesen
    fahrenheit = 9.0 / 5.0 * celsius + 32.0;  // und nach fahrenheit umgerechnet
}
</code></pre>
<p>Übrigens die funktion speicherF ist falsch. Sollte so sein</p>
<pre><code class="language-cpp">void Temperatur::speicherF(void)
{
    cout &lt;&lt; &quot;\nBitte Fahrenheit eingeben: &quot;;
    cin &gt;&gt; fahrenheit;                        // fahrenheit wird gelesen
//    fahrenheit = 5.0 / 9.0 * (fahrenheit - 32.0); // falsch
    celsius = 5.0 / 9.0 * (fahrenheit - 32.0); // und nach celsius umgerechnet
}
</code></pre>
<p>Kurt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/933588</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/933588</guid><dc:creator><![CDATA[ZuK]]></dc:creator><pubDate>Sat, 03 Dec 2005 22:53:22 GMT</pubDate></item><item><title><![CDATA[Reply to Fragen zu Programm... on Sat, 03 Dec 2005 23:02:30 GMT]]></title><description><![CDATA[<p>Danke, hast recht <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>Da bleibt nur noch:</p>
<p>Da die 2 Variablen private ist, können nur die Methoden auf sie zugreifen und sie ändern, ja? Aber wenn ich jetzt in main was ändern wollen würde, indem ic celsius = andererwert schreiben würde, ginge das nicht?</p>
<p>Ja und das mit den Void versteh ich immernoch nicht ganz...<br />
ist das jetzt so, dass wenn die Methoden auf die Variablen zugreifen, sie dann automatisch als Parameter haben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/933590</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/933590</guid><dc:creator><![CDATA[Ania87]]></dc:creator><pubDate>Sat, 03 Dec 2005 23:02:30 GMT</pubDate></item><item><title><![CDATA[Reply to Fragen zu Programm... on Sat, 03 Dec 2005 23:15:44 GMT]]></title><description><![CDATA[<p>Ania87 schrieb:</p>
<blockquote>
<p>Da die 2 Variablen private ist, können nur die Methoden auf sie zugreifen und sie ändern, ja? Aber wenn ich jetzt in main was ändern wollen würde, indem ic celsius = andererwert schreiben würde, ginge das nicht?</p>
</blockquote>
<p>nee das ginge nicht. Wenn du von aussen auf die membervariablen zugreifen können willst dann müsstest du der klasse setter-funktionen spendieren. z.b</p>
<pre><code class="language-cpp">void Temperatur::setzeC(double c )
{
    celsius = c;                              // celsius setzen
    fahrenheit = 9.0 / 5.0 * celsius + 32.0;  // und nach fahrenheit umgerechnet
}
</code></pre>
<p>natürlich könntest du die beiden membervariablen auch public declarieren. Das wäre in diesm Fall aber sehr schlecht da dann nicht mehr gewährleistet wäre das celsius und fahrenheit die gleiche temperatur darstellen.</p>
<p>Ania87 schrieb:</p>
<blockquote>
<p>Ja und das mit den Void versteh ich immernoch nicht ganz...<br />
ist das jetzt so, dass wenn die Methoden auf die Variablen zugreifen, sie dann automatisch als Parameter haben?</p>
</blockquote>
<p>Das void bedeutet nur dass du die funktionen nur ohne parameter aufrufen darfst ( glaube ich auf jeden fall, hab das aber noch nicht oft gesehen dass das überhaupt gemacht wird ). Normalerweise würde ich das void weglassen.<br />
Kurt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/933594</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/933594</guid><dc:creator><![CDATA[ZuK]]></dc:creator><pubDate>Sat, 03 Dec 2005 23:15:44 GMT</pubDate></item><item><title><![CDATA[Reply to Fragen zu Programm... on Sat, 03 Dec 2005 23:18:10 GMT]]></title><description><![CDATA[<p>Danke, somit sind glaub ich alle meine Fragen beantwortet <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>Lieb von euch!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/933597</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/933597</guid><dc:creator><![CDATA[Ania87]]></dc:creator><pubDate>Sat, 03 Dec 2005 23:18:10 GMT</pubDate></item></channel></rss>