<?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[Klassen zugriff von einer Funktion in der Main?]]></title><description><![CDATA[<p>Hallo,</p>
<p>habe eine kurze Frage die Ihr mir hoffentlich beantworten könnt.</p>
<p>Folgendes soll Programmiert werden:<br />
-eine Klasse Auto mit : Hersteller,Alter und Neupreis<br />
- dazu methoden : read(einlesen), toString(darstellung als string) und gebrauchtpreis (neupreis/alter)</p>
<p>Auto.h wie folgt:</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;conio.h&gt;
#include &lt;sstream&gt;

using namespace std;

class Auto{
public:
     Auto();
	 Auto(string,int,double);
	 void read();
	 string toString();
	 double gebrauchtPreis();

private:
    string hersteller;
	int alter;
	double neuPreis;
};

 Auto::Auto()
 {
	 hersteller = &quot;vw&quot;;
	 alter = 10;
	 neuPreis = 1000;
 }
 Auto::Auto(string herst,int alter,double pr)
 {
	 hersteller = herst;
	 this-&gt;alter = alter;
	 neuPreis = pr;
 }
 void Auto::read()
 {
	 cout &lt;&lt;&quot; Hersteller: &quot;; 
	 cin &gt;&gt; hersteller;
	 cout &lt;&lt;&quot; Alter: &quot;;
	 cin &gt;&gt; alter;
	 cout &lt;&lt; &quot; Neupreis: &quot;;
	 cin &gt;&gt; neuPreis;
 }
 string Auto::toString()
 {
	 stringstream s;

	 s &lt;&lt; hersteller &lt;&lt;&quot; | &quot; &lt;&lt;alter &lt;&lt; &quot; | &quot; &lt;&lt;neuPreis&lt;&lt;endl;

	 return s.str();
 }
 double Auto::gebrauchtPreis()
 {
	 double gpreis = neuPreis / alter;

	 return gpreis;
 }
</code></pre>
<p>nun kommt die eigentliche Frage:</p>
<p>es sollen zwei FUNKTIONEN erstellt werden, nehme an diese werden dann in der main.cpp deklariert und definiert:</p>
<pre><code>Auto teuerstesAuto( Auto a[],int n)
{
double max =0;
for(int i=0; i&lt;n;i++)
{
if(Auto a[i] &gt; max)
{
max = Auto a[i];
}
}
return max;
}
</code></pre>
<p>Weiterhin gibt es die Funktion kapital, dort soll die Summe aller Autos berechnet werde:</p>
<pre><code>double kapital(Auto a[], int n)
{
}
</code></pre>
<p>Die Frage die ich habe ist:</p>
<p>1. Was hat es mit dem</p>
<pre><code>Auto a[]
</code></pre>
<p>auf sich in den Funktionen ? und schreibe ich Auto a[] in der Funktion oder nur a[]? Greifen die auf die Klasse Auto zu und übergeben das Feld a[]? Bzw. woher bekommt Auto a[] die Preise ?</p>
<p>2. wie werden die beiden Klassen in der Main aufgerufen?<br />
mit</p>
<pre><code>teuerstesAuto(a[],n);
</code></pre>
<p>?</p>
<p>Vielen Dank für eure Antworten. Bin gerade echt am verzweifeln da ich nichts im Netz dazu finde. <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>Gruß<br />
J.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/323827/klassen-zugriff-von-einer-funktion-in-der-main</link><generator>RSS for Node</generator><lastBuildDate>Wed, 15 Jul 2026 13:59:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/323827.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 18 Feb 2014 12:32:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Klassen zugriff von einer Funktion in der Main? on Tue, 18 Feb 2014 12:32:37 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>habe eine kurze Frage die Ihr mir hoffentlich beantworten könnt.</p>
<p>Folgendes soll Programmiert werden:<br />
-eine Klasse Auto mit : Hersteller,Alter und Neupreis<br />
- dazu methoden : read(einlesen), toString(darstellung als string) und gebrauchtpreis (neupreis/alter)</p>
<p>Auto.h wie folgt:</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;conio.h&gt;
#include &lt;sstream&gt;

using namespace std;

class Auto{
public:
     Auto();
	 Auto(string,int,double);
	 void read();
	 string toString();
	 double gebrauchtPreis();

private:
    string hersteller;
	int alter;
	double neuPreis;
};

 Auto::Auto()
 {
	 hersteller = &quot;vw&quot;;
	 alter = 10;
	 neuPreis = 1000;
 }
 Auto::Auto(string herst,int alter,double pr)
 {
	 hersteller = herst;
	 this-&gt;alter = alter;
	 neuPreis = pr;
 }
 void Auto::read()
 {
	 cout &lt;&lt;&quot; Hersteller: &quot;; 
	 cin &gt;&gt; hersteller;
	 cout &lt;&lt;&quot; Alter: &quot;;
	 cin &gt;&gt; alter;
	 cout &lt;&lt; &quot; Neupreis: &quot;;
	 cin &gt;&gt; neuPreis;
 }
 string Auto::toString()
 {
	 stringstream s;

	 s &lt;&lt; hersteller &lt;&lt;&quot; | &quot; &lt;&lt;alter &lt;&lt; &quot; | &quot; &lt;&lt;neuPreis&lt;&lt;endl;

	 return s.str();
 }
 double Auto::gebrauchtPreis()
 {
	 double gpreis = neuPreis / alter;

	 return gpreis;
 }
</code></pre>
<p>nun kommt die eigentliche Frage:</p>
<p>es sollen zwei FUNKTIONEN erstellt werden, nehme an diese werden dann in der main.cpp deklariert und definiert:</p>
<pre><code>Auto teuerstesAuto( Auto a[],int n)
{
double max =0;
for(int i=0; i&lt;n;i++)
{
if(Auto a[i] &gt; max)
{
max = Auto a[i];
}
}
return max;
}
</code></pre>
<p>Weiterhin gibt es die Funktion kapital, dort soll die Summe aller Autos berechnet werde:</p>
<pre><code>double kapital(Auto a[], int n)
{
}
</code></pre>
<p>Die Frage die ich habe ist:</p>
<p>1. Was hat es mit dem</p>
<pre><code>Auto a[]
</code></pre>
<p>auf sich in den Funktionen ? und schreibe ich Auto a[] in der Funktion oder nur a[]? Greifen die auf die Klasse Auto zu und übergeben das Feld a[]? Bzw. woher bekommt Auto a[] die Preise ?</p>
<p>2. wie werden die beiden Klassen in der Main aufgerufen?<br />
mit</p>
<pre><code>teuerstesAuto(a[],n);
</code></pre>
<p>?</p>
<p>Vielen Dank für eure Antworten. Bin gerade echt am verzweifeln da ich nichts im Netz dazu finde. <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>Gruß<br />
J.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2383862</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2383862</guid><dc:creator><![CDATA[JayD2014]]></dc:creator><pubDate>Tue, 18 Feb 2014 12:32:37 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen zugriff von einer Funktion in der Main? on Tue, 18 Feb 2014 13:07:41 GMT]]></title><description><![CDATA[<p>Bevor wir auf die Frage eingehen, erstmal viel wichtiger: Ist das eine Schul-/Uniaufgabe, bei der Sachen wie &quot;Auto teuerstesAuto( Auto a[],int n)&quot; nicht verändert werden dürfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2383869</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2383869</guid><dc:creator><![CDATA[daddy_felix]]></dc:creator><pubDate>Tue, 18 Feb 2014 13:07:41 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen zugriff von einer Funktion in der Main? on Tue, 18 Feb 2014 13:10:45 GMT]]></title><description><![CDATA[<p>Das nennt sich <a href="http://www.cplusplus.com/doc/tutorial/arrays/" rel="nofollow">Array</a></p>
<p>Weiter Links:<br />
<a href="http://www.tutorialspoint.com/cplusplus/cpp_arrays.htm" rel="nofollow">http://www.tutorialspoint.com/cplusplus/cpp_arrays.htm</a><br />
<a href="http://www.cprogramming.com/tutorial/lesson8.html" rel="nofollow">http://www.cprogramming.com/tutorial/lesson8.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2383871</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2383871</guid><dc:creator><![CDATA[Singender Holzkübel]]></dc:creator><pubDate>Tue, 18 Feb 2014 13:10:45 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen zugriff von einer Funktion in der Main? on Tue, 18 Feb 2014 13:21:47 GMT]]></title><description><![CDATA[<p>daddy_felix schrieb:</p>
<blockquote>
<p>Bevor wir auf die Frage eingehen, erstmal viel wichtiger: Ist das eine Schul-/Uniaufgabe, bei der Sachen wie &quot;Auto teuerstesAuto( Auto a[],int n)&quot; nicht verändert werden dürfen?</p>
</blockquote>
<p>Es handelt sich um eine UNI Aufgabe, somit soll es so belassen werden.</p>
<p>Singender Holzkübel schrieb:</p>
<blockquote>
<p>Das nennt sich <a href="http://www.cplusplus.com/doc/tutorial/arrays/" rel="nofollow">Array</a></p>
<p>Weiter Links:<br />
<a href="http://www.tutorialspoint.com/cplusplus/cpp_arrays.htm" rel="nofollow">http://www.tutorialspoint.com/cplusplus/cpp_arrays.htm</a><br />
<a href="http://www.cprogramming.com/tutorial/lesson8.html" rel="nofollow">http://www.cprogramming.com/tutorial/lesson8.html</a></p>
</blockquote>
<p>Das es sich um ein Array Feld handelt ist mir bewusst, es geht um den Typ &quot;Auto&quot; den ich nicht verstehe und nicht weiß welche Form der Rückgabtyp haben soll.</p>
<p>Bin nun etwas weitergekommen und habe die Kapitalfunktion hinbekommen.</p>
<pre><code>[code]
Auto teuerstesAuto(Auto a[],int n)
{
double max=0;

for(int i= 0; i&lt;n;i++)
    {
	if(a[i].gebrauchtPreis() &gt; max)
	{
		max =a[i].gebrauchtPreis();
	}
	}

return a[n]; //welchen Rückgabetyp hat das Teil? 
 }
double kapital(Auto a[],int n)
{
	double sum=0;

	for(int i=0; i&lt;n;i++)
	{
		if( a[i].gebrauchtPreis()&gt;sum)
		{
			sum= a[i].gebrauchtPreis();
		}
	}

	return sum;
}

int main(){
     Auto st1;
	 st1.read();

	 Auto st2;

	 cout &lt;&lt; &quot; Auto 1: &quot;&lt;&lt;st1.toString();
	 cout &lt;&lt; &quot; Auto 2: &quot;&lt;&lt;st2.toString();

	 int n;
	 cout &lt;&lt; &quot;Anzahl Autos: &quot;;
	 cin &gt;&gt; n;

	 Auto *werkstatt= new Auto[n];
	 Auto a[10];

	cout &lt;&lt; teuerstesAuto(a,n).toString()&lt;&lt;endl;

	cout &lt;&lt;kapital(a,n)&lt;&lt;endl;

	getchar();

	 delete[] werkstatt; 

	 getchar();
	 return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2383872</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2383872</guid><dc:creator><![CDATA[JayD2014]]></dc:creator><pubDate>Tue, 18 Feb 2014 13:21:47 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen zugriff von einer Funktion in der Main? on Tue, 18 Feb 2014 13:37:02 GMT]]></title><description><![CDATA[<p>Ich dachte, in kapital solle etwas berechnet werden? Ich sehe da gar keinen Rechenoperator. Testest Du Deine Ergüsse eigentlich auch?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2383873</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2383873</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Tue, 18 Feb 2014 13:37:02 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen zugriff von einer Funktion in der Main? on Tue, 18 Feb 2014 13:48:56 GMT]]></title><description><![CDATA[<p>JayD2014 schrieb:</p>
<blockquote>
<p>Das es sich um ein Array Feld handelt ist mir bewusst, es geht um den Typ &quot;Auto&quot; den ich nicht verstehe und nicht weiß welche Form der Rückgabtyp haben soll.</p>
<p>Auto a[]</p>
<p>return a[n]; //welchen Rückgabetyp hat das Teil?</p>
</blockquote>
<p>Typ Auto</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2383879</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2383879</guid><dc:creator><![CDATA[Singender Holzkübel]]></dc:creator><pubDate>Tue, 18 Feb 2014 13:48:56 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen zugriff von einer Funktion in der Main? on Tue, 18 Feb 2014 14:09:58 GMT]]></title><description><![CDATA[<p>Belli schrieb:</p>
<blockquote>
<p>Ich dachte, in kapital solle etwas berechnet werden? Ich sehe da gar keinen Rechenoperator. Testest Du Deine Ergüsse eigentlich auch?</p>
</blockquote>
<p>Upps danke, habs selbst verpeilt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<pre><code>double kapital(Auto a[],int n)
{
	double sum=0;

	for(int i=0; i&lt;n;i++)
	{
	sum += a[i].gebrauchtPreis();
	}

return sum;
}
</code></pre>
<p>Singender Holzkübel schrieb:</p>
<blockquote>
<p>JayD2014 schrieb:</p>
<blockquote>
<p>Das es sich um ein Array Feld handelt ist mir bewusst, es geht um den Typ &quot;Auto&quot; den ich nicht verstehe und nicht weiß welche Form der Rückgabtyp haben soll.</p>
<p>Auto a[]</p>
<p>return a[n]; //welchen Rückgabetyp hat das Teil?</p>
</blockquote>
<p>Typ Auto</p>
</blockquote>
<p>Wenn ich jetzt aber das Maximum wiedergeben will, also mit meiner Variablen max, wie funktioniert das dann das die vom typ Auto ist ?</p>
<p>Danke für die Geduld, bin aber echt blutiger Anfänger und stehe ab und an auf dem Schlauch <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2383885</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2383885</guid><dc:creator><![CDATA[Jayd2014]]></dc:creator><pubDate>Tue, 18 Feb 2014 14:09:58 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen zugriff von einer Funktion in der Main? on Tue, 18 Feb 2014 14:40:27 GMT]]></title><description><![CDATA[<pre><code>Auto teuerstesAuto(Auto a[],int n)
{
  double max=0;
  int nr = 0;

  for(int i= 0; i&lt;n;i++)
  {
    if(a[i].gebrauchtPreis() &gt; max)
    {
        max =a[i].gebrauchtPreis();
        nr = i;
    }
  }

  return a[nr];
}
</code></pre>
<p>oder etwas subtiler</p>
<pre><code>Auto teuerstesAuto(Auto a[],int n)
{
  int nr = 0;

  for(int i= 1; i&lt;n;i++)
    if(a[i].gebrauchtPreis() &gt; a[nr].gebrauchtPreis())
        nr = i;

  return a[nr];
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2383894</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2383894</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Tue, 18 Feb 2014 14:40:27 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen zugriff von einer Funktion in der Main? on Tue, 18 Feb 2014 14:42:57 GMT]]></title><description><![CDATA[<p>Jayd2014 schrieb:</p>
<blockquote>
<p>Wenn ich jetzt aber das Maximum wiedergeben will, also mit meiner Variablen max, wie funktioniert das dann das die vom typ Auto ist ?</p>
</blockquote>
<p>Das funktioniert so nicht, macht auch keinerlei Sinn.<br />
Mit der Variable max speicherst du nur den höchsten Gebrauchtpreis des Autos (double), der gerade im Array gefunden wurde.</p>
<p>Eine fertige Funktion könnte so aussehen:</p>
<pre><code>Auto teuerstesAuto(Auto a[], int n) 
{ 
    double max = 0;
    Auto teuerstes = a[0];
    /*
       Das teuerste Auto setzen wir zu Anfang mal auf das
       erste Auto im Array, weil wir davon aus gehen, dass
       es das teuerste ist.
     */

    for(int i = 0; i &lt; n; i++) 
    { 
        if(a[i].gebrauchtPreis() &gt; max) 
        { 
            // Es wurde ein neues, teueres Auto gefunden.
            max = a[i].gebrauchtPreis();
            teuerstes = a[i];
        } 
    } 

    return teuerstes;
 }
</code></pre>
<p>Macht vielleicht mehr Sinn wenn du die Variable max in hoechsterPreis (oder so ähnlich) unbenennst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2383896</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2383896</guid><dc:creator><![CDATA[Singender Holzkübel]]></dc:creator><pubDate>Tue, 18 Feb 2014 14:42:57 GMT</pubDate></item></channel></rss>