<?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[objekte zu anderen objekten hinzufügen]]></title><description><![CDATA[<p>hi</p>
<p>ich hab hier mal eine etwas blöde frage, aber ich komm einfach nicht drauf.</p>
<p>wie mach ich des, wenn ich folgendes hab.</p>
<pre><code class="language-cpp">class auto{

//haufen zeugs...
};
</code></pre>
<pre><code class="language-cpp">class fahrer{

//haufen zeugs...
};
</code></pre>
<pre><code class="language-cpp">void main(){

fahrer klaus;
auto vw;
klaus.kaufen(vw);

}
</code></pre>
<p>dass ich im prinzip über eine methode im objekt klaus ein auto hinzufügen kann oder beliebig dann halt in eine liste hängen kann.</p>
<p>kann mir da jemand die genaue syntax geben, wie des ganz einfach geht?</p>
<p>nur ein ganz kleines funktionierendes programm wo nur die eine methode implementiert ist oder so in der richtung...</p>
<p>Danke!</p>
<p>gruß<br />
peter</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/179798/objekte-zu-anderen-objekten-hinzufügen</link><generator>RSS for Node</generator><lastBuildDate>Mon, 21 Sep 2026 10:54:46 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/179798.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 25 Apr 2007 13:17:26 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to objekte zu anderen objekten hinzufügen on Wed, 25 Apr 2007 13:17:26 GMT]]></title><description><![CDATA[<p>hi</p>
<p>ich hab hier mal eine etwas blöde frage, aber ich komm einfach nicht drauf.</p>
<p>wie mach ich des, wenn ich folgendes hab.</p>
<pre><code class="language-cpp">class auto{

//haufen zeugs...
};
</code></pre>
<pre><code class="language-cpp">class fahrer{

//haufen zeugs...
};
</code></pre>
<pre><code class="language-cpp">void main(){

fahrer klaus;
auto vw;
klaus.kaufen(vw);

}
</code></pre>
<p>dass ich im prinzip über eine methode im objekt klaus ein auto hinzufügen kann oder beliebig dann halt in eine liste hängen kann.</p>
<p>kann mir da jemand die genaue syntax geben, wie des ganz einfach geht?</p>
<p>nur ein ganz kleines funktionierendes programm wo nur die eine methode implementiert ist oder so in der richtung...</p>
<p>Danke!</p>
<p>gruß<br />
peter</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1273208</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1273208</guid><dc:creator><![CDATA[peterli]]></dc:creator><pubDate>Wed, 25 Apr 2007 13:17:26 GMT</pubDate></item><item><title><![CDATA[Reply to objekte zu anderen objekten hinzufügen on Wed, 25 Apr 2007 13:23:07 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>du könntest auch einfach in der Fahrer-Klasse ein Auto zur Verfügung stellen</p>
<pre><code class="language-cpp">class Fahrer
{
   auto vw;

}
</code></pre>
<p>Gruß Spartaner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1273220</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1273220</guid><dc:creator><![CDATA[Spartaner]]></dc:creator><pubDate>Wed, 25 Apr 2007 13:23:07 GMT</pubDate></item><item><title><![CDATA[Reply to objekte zu anderen objekten hinzufügen on Wed, 25 Apr 2007 13:24:13 GMT]]></title><description><![CDATA[<p>hi</p>
<p>ich wollte des ja so machen, dass ich über ne methode ein auto hinzufügen kann.<br />
bekomm ich aber leider ned wirklich hin... <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=":-/"
      alt="😕"
    /></p>
<p>gruß<br />
peter</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1273221</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1273221</guid><dc:creator><![CDATA[peterli]]></dc:creator><pubDate>Wed, 25 Apr 2007 13:24:13 GMT</pubDate></item><item><title><![CDATA[Reply to objekte zu anderen objekten hinzufügen on Wed, 25 Apr 2007 13:28:32 GMT]]></title><description><![CDATA[<p>Ich bin zwar selber noch Anfänger, aber so wie ich das sehe, musst du in der Klasse Fahrer ein Auto bereitstellen. Und über Die Funktionen der Autoklasse kannst du dann das Auto selber ändern.</p>
<p>Du kannst die Klasse selber ja nicht über eine Funktion ändern.</p>
<p>Gruß Spartaner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1273228</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1273228</guid><dc:creator><![CDATA[Spartaner]]></dc:creator><pubDate>Wed, 25 Apr 2007 13:28:32 GMT</pubDate></item><item><title><![CDATA[Reply to objekte zu anderen objekten hinzufügen on Wed, 25 Apr 2007 13:31:43 GMT]]></title><description><![CDATA[<p>ich hab mir gedacht, dass ich eben ein objekt erstelle....</p>
<p>z.b.<br />
fahrer klaus;<br />
auto vw;</p>
<p>dann dem objekt klaus gib...</p>
<p>klaus.kaufen(vw);</p>
<p>des glaub ich, dass ich schonmal irgendwo gesehen hab, weiß es aber nimmer genau..</p>
<p>gruß<br />
peter</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1273231</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1273231</guid><dc:creator><![CDATA[peterli]]></dc:creator><pubDate>Wed, 25 Apr 2007 13:31:43 GMT</pubDate></item><item><title><![CDATA[Reply to objekte zu anderen objekten hinzufügen on Wed, 25 Apr 2007 13:38:13 GMT]]></title><description><![CDATA[<p>Hast du denn schon eine Liste von Autos? Ich werde irgendwie aus dem Beispielcode nicht so richtig schlau <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=";D"
      alt="😉"
    /></p>
<p>Aber grundsaetzlich koennte man es so loesen, wenn jeder fahrer eine Liste von Autos hat:</p>
<pre><code class="language-cpp">#include &lt;list&gt;

class fahrer
{
private:
  typedef std::list&lt;auto const*&gt; Autos; // Edit: std:: dazu
  Autos m_autos;

public:
  kaufen(auto const* pauto)
  {
    m_autos.push_back(pauto);
  }
};

// ...

klaus.kaufen(&amp;bmw);
</code></pre>
<p>Gruss,<br />
DeSoVoDaMu</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1273236</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1273236</guid><dc:creator><![CDATA[DeSoVoDaMu]]></dc:creator><pubDate>Wed, 25 Apr 2007 13:38:13 GMT</pubDate></item><item><title><![CDATA[Reply to objekte zu anderen objekten hinzufügen on Wed, 25 Apr 2007 13:40:47 GMT]]></title><description><![CDATA[<p>So kannst du es ja auch machen, aber du muss trotzdem ein Auto in der Klasse haben.</p>
<pre><code class="language-cpp">class Auto
{
   Auto(std::string Typ)
   {
      if(Typ == &quot;VW&quot;)
      {
         // Werte zuweisen
      }
      else if(Typ == &quot;AUDI&quot;)
      {
         // ...
      }
       // ...

   }
}

class Fahrer
{
  private:
  Auto Auto;

  public:
  void kaufe_auto(std::string Typ)
  {
     Auto = Auto(Typ);
  }

}

// main.cpp

Fahrer Klaus;

Klaus.kaufe_auto(&quot;VW&quot;);
</code></pre>
<p>So würde ich es machen. Und ich wüsste uahc nicht, wie ich es anders machen sollte <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>Gruß Spartaner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1273241</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1273241</guid><dc:creator><![CDATA[Spartaner]]></dc:creator><pubDate>Wed, 25 Apr 2007 13:40:47 GMT</pubDate></item><item><title><![CDATA[Reply to objekte zu anderen objekten hinzufügen on Wed, 25 Apr 2007 14:52:28 GMT]]></title><description><![CDATA[<p>peterli schrieb:</p>
<blockquote>
<p>...<br />
dass ich im prinzip über eine methode im objekt klaus ein auto hinzufügen kann oder beliebig dann halt in eine liste hängen kann.</p>
<p>kann mir da jemand die genaue syntax geben, wie des ganz einfach geht?...</p>
</blockquote>
<p>Du beschreibst hier, was man eine &quot;Assoziation&quot; nennt - leider etwas zu knapp, um konkret helfen zu können: Wie viele Autos soll ein Fahrer haben können (1, mehrere) ?<br />
Wieviele Fahrer ein Auto ?<br />
MUSS ein Fahrer ein Auto haben ?<br />
MUSS ein Auto einen Fahrer haben ?<br />
Kann ein Fahrer sein Auto wechseln oder ein Auto seinen Fahrer ?</p>
<p>EDIT: Außerdem wichtig: Sind ihre Lebenszeiten verknüpft ? Kann das Eine ohne das Andere existieren ?</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1273274</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1273274</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Wed, 25 Apr 2007 14:52:28 GMT</pubDate></item><item><title><![CDATA[Reply to objekte zu anderen objekten hinzufügen on Wed, 25 Apr 2007 14:40:03 GMT]]></title><description><![CDATA[<p>hi</p>
<p>erst mal danke für die rege antwortfreude!! <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>vom prinzip ist es schon so ganz gut getroffen, wie DeSoVoDaMu es gemacht hat.</p>
<p>ein fahrer soll nur ein auto haben, mehr nicht.</p>
<p>und des einfach über ne methode hinzufügen.</p>
<p>ich glaub dass des dann so passt, oder?</p>
<pre><code class="language-cpp">class fahrer
{
private:
  Auto m_auto;

public:
  kaufen(Auto const* car)
  {
    m_auto=car;
  }
};

// ...

klaus.kaufen(&amp;bmw);
</code></pre>
<p>gruß<br />
peter</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1273310</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1273310</guid><dc:creator><![CDATA[peterli]]></dc:creator><pubDate>Wed, 25 Apr 2007 14:40:03 GMT</pubDate></item><item><title><![CDATA[Reply to objekte zu anderen objekten hinzufügen on Wed, 25 Apr 2007 15:17:08 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/8156">@DeSoVoDaMu</a>: Wieso benutzt du Zeiger und riskierst so vllt ungültige Objekte ???<br />
Ein list&lt;Auto&gt; würde es genauso gut tun ...</p>
<p>Edit: Nur noch ein Beitrag zum Tausender <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1273339</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1273339</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 25 Apr 2007 15:17:08 GMT</pubDate></item><item><title><![CDATA[Reply to objekte zu anderen objekten hinzufügen on Wed, 25 Apr 2007 20:17:13 GMT]]></title><description><![CDATA[<p>Falls er genau das angegebene Auto kaufen soll, muss er einen Zeiger benutzen.<br />
Ansonsten kauft er eine Kopie des Autos. (hinzufügen...)<br />
Bsp:</p>
<pre><code class="language-cpp">class Fahrer
{
private:
  Auto *m_pAuto; // !

public:  
  void kaufen(Auto&amp; car) // kauft genau dieses Auto
  {
       m_pAuto = &amp;car; 
  }
};

class Fahrer
{
private:
  Auto m_auto;

public:
  void kaufe(Auto const&amp; car) // kauft eine Kopie
  {
       m_auto = car;
  }
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1273551</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1273551</guid><dc:creator><![CDATA[wandrer]]></dc:creator><pubDate>Wed, 25 Apr 2007 20:17:13 GMT</pubDate></item><item><title><![CDATA[Reply to objekte zu anderen objekten hinzufügen on Wed, 25 Apr 2007 20:39:39 GMT]]></title><description><![CDATA[<p>Ist es schlimm das da eine Kopie drin steckt.<br />
Ist immer noch das selbe Auto mit den selben Eigenschaften.</p>
<p>Wieso einen Zeiger benutzen, wo keiner gebraucht wird.<br />
Dir ist klar das dein Zeiger ungültig wird, sobald das übergebene Argument seinen Gültigkeitsbereich verliert ...</p>
<p>Zudem kommt die ganze Zeigersyntax hinzu ( derefernzieren etc. ), was IMA unschön und unsauber wirkt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1273561</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1273561</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 25 Apr 2007 20:39:39 GMT</pubDate></item><item><title><![CDATA[Reply to objekte zu anderen objekten hinzufügen on Wed, 25 Apr 2007 22:17:46 GMT]]></title><description><![CDATA[<p>Nur so nebenbei: &quot;auto&quot; (mit kleinem a) ist ein Keyword, und zwar die default storage class für lokale Variablen (die 2. mir bekannte storage class für lokale variablen ist &quot;static&quot;).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1273598</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1273598</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Wed, 25 Apr 2007 22:17:46 GMT</pubDate></item><item><title><![CDATA[Reply to objekte zu anderen objekten hinzufügen on Thu, 26 Apr 2007 07:13:21 GMT]]></title><description><![CDATA[<p>Die Realität lässt sich nunmal nicht immer 100%ig abbilden <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 />
Du könntest aber das Auto aufm dem Heap anlegen lassen und als std::auto_ptr übernehmen lassen. Das würde dem Anwender signalisieren, dass du das Auto quasi in deinen Besitz überträgst.</p>
<pre><code class="language-cpp">class Fahrer
{
    std::auto_ptr&lt;Auto&gt; mein_auto_;
};

void Fahrer::kaufe(std::auto_ptr&lt;Auto&gt; mein_neues_auto) // übernimmt den Besitz
{
    mein_auto_ = mein_neues_auto;
}
</code></pre>
<p>Zusätzlich kannst du natürlich noch eine Hilfsfunktion anbieten, damit sich der Anwender nicht um die Details der Erzeugung kümmern muss.</p>
<pre><code class="language-cpp">std::auto_ptr&lt;Auto&gt; auto_bauen(/*Eigenschaften des Autos*/)
{
    return auto_ptr&lt;Auto&gt;(new Auto(/*...*/));
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1273689</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1273689</guid><dc:creator><![CDATA[viande]]></dc:creator><pubDate>Thu, 26 Apr 2007 07:13:21 GMT</pubDate></item><item><title><![CDATA[Reply to objekte zu anderen objekten hinzufügen on Thu, 26 Apr 2007 08:12:26 GMT]]></title><description><![CDATA[<p>KasF schrieb:</p>
<blockquote>
<p>Ist es schlimm das da eine Kopie drin steckt.<br />
Ist immer noch das selbe Auto mit den selben Eigenschaften....</p>
</blockquote>
<p>Aber nur, solange diese beiden Objekte nicht gändert werden:</p>
<pre><code class="language-cpp">struct Auto {
   bool intakteBremsleitung;
   Auto() : intakteBremsleitung(true) {}
};

class Fahrer {
   Auto meinAuto;
public:
   gibAuto(Auto a) {meinAuto = a; }
   void fahrLos() { 
       if(!meinAuto.intakteBremsleitung) throw runtime_error(&quot;zu gefährlich&quot;);
       // ...
   }
};

void zerschneideBremsleitung(Auto&amp; a) { a.intakteBremsleitung = false; }

int main() {
   Auto tollerBMW;
   Fahrer KasF;
   KasF.gibAuto(tollerBMW);
   zerschneideBremsleitung(tollerBMW);
   KasF.fahrLos(); // -&gt; Boom
</code></pre>
<p><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>
<p>Es ist einfach eine Frage der Aufgabenstellung, ob ein Fahrer seine eigene Kopie erhalten soll oder nicht....<br />
Wenn z.B. ein konkretes Auto nur einmal verkauft werden soll (wie im RL üblich), sollte man auch da keine Kopie anlegen.</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1273738</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1273738</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Thu, 26 Apr 2007 08:12:26 GMT</pubDate></item><item><title><![CDATA[Reply to objekte zu anderen objekten hinzufügen on Thu, 26 Apr 2007 08:24:39 GMT]]></title><description><![CDATA[<p>hi</p>
<p>vielen dank für eure hilfe!<br />
hat mir echt viel geholfen!</p>
<p>aber hier nur mal die nächste &quot;dumme&quot; neuling frage...</p>
<p>wenn ich des jetzt so hab...</p>
<p>fahrer hat die methoden gasgeben und bremsen<br />
auto hat die methoden gasgeben und bremsen<br />
fahrer hat die methode autokaufen (da füg ich, wie ihr mir gezeigt habt, ein auto hinzu)</p>
<p>wie gib ich jetzt vernünftig gas?<br />
ich hätte mir des so gedacht, dass ich beim fahrer in der mehtode gasgeben die vom auto objekt aufruf... aber wie man merkt... ich bin echt noch vor den kinderschuhen in dem bereich... <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>Gruß<br />
peter</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1273746</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1273746</guid><dc:creator><![CDATA[peterli]]></dc:creator><pubDate>Thu, 26 Apr 2007 08:24:39 GMT</pubDate></item><item><title><![CDATA[Reply to objekte zu anderen objekten hinzufügen on Thu, 26 Apr 2007 08:30:21 GMT]]></title><description><![CDATA[<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/8156">@DeSoVoDaMu</a>: Wieso benutzt du Zeiger und riskierst so vllt ungültige Objekte ???<br />
Ein list&lt;Auto&gt; würde es genauso gut tun ...</p>
</blockquote>
<p>Simon2 hat es schon erklaert, wie ich es mir auch gedachte habe. Ein Auto ist einmal vorhanden und <strong>dieses</strong> wird gekauft, nicht etwa eine Kopie.<br />
Wenn ein Fahrer nicht schon mit einem Auto geboren (-&gt;erzeugt) wird (schoene Vorstellung btw ;D), kommt man um Zeiger in der einen oder anderen Form nicht herum (sei es nun direkt ein Zeiger, auto_ptr oder eine Klasse mit Referenzzaehlung [welche zumindest intern Zeiger verwendet]).<br />
Ich wollte (/hatte keine Zeit) hier jetzt ein ganzes Programm zu schreiben <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 />
Sollte nur als Denkanstoss dienen, zumal etwas wenig Infos vorhanden waren.</p>
<p>Gruss,<br />
DeSoVoDaMu</p>
<p>Edit Antwort auf Frage</p>
<blockquote>
<p>wie gib ich jetzt vernünftig gas?<br />
ich hätte mir des so gedacht, dass ich beim fahrer in der mehtode gasgeben die vom auto objekt aufruf... aber wie man merkt... ich bin echt noch vor den kinderschuhen in dem bereich...</p>
</blockquote>
<p>Wenn du es jetzt mit <strong>einem</strong> Zeiger auf ein Auto gemacht hast (also keine Liste) dann folgender massen:</p>
<pre><code class="language-cpp">void Fahrer::Gasgeben()
{
  m_pauto-&gt;Gasgeben();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1273748</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1273748</guid><dc:creator><![CDATA[DeSoVoDaMu]]></dc:creator><pubDate>Thu, 26 Apr 2007 08:30:21 GMT</pubDate></item><item><title><![CDATA[Reply to objekte zu anderen objekten hinzufügen on Thu, 26 Apr 2007 08:30:39 GMT]]></title><description><![CDATA[<p>peterli schrieb:</p>
<blockquote>
<p>ich hätte mir des so gedacht, dass ich beim fahrer in der mehtode gasgeben die vom auto objekt aufruf... aber wie man merkt... ich bin echt noch vor den kinderschuhen in dem bereich... <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>
</blockquote>
<p>Genauso solltest du es machen (eventuell vorher überprüfen, ob du bereits ein Auto hast):</p>
<pre><code class="language-cpp">//basierend auf viande's Ansatz:
void Fahrer::gasgeben()
{
  if(mein_auto_.get()==0)
    cout&lt;&lt;&quot;Isch 'abe gar kein Auto&quot;&lt;&lt;endl;
  else
    mein_auto_-&gt;gasgeben();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1273752</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1273752</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 26 Apr 2007 08:30:39 GMT</pubDate></item><item><title><![CDATA[Reply to objekte zu anderen objekten hinzufügen on Thu, 26 Apr 2007 10:23:59 GMT]]></title><description><![CDATA[<p>Simon2 schrieb:</p>
<blockquote>
<pre><code class="language-cpp">struct Auto {
   bool intakteBremsleitung;
   Auto() : intakteBremsleitung(true) {}
};

class Fahrer {
   Auto meinAuto;
public:
   gibAuto(Auto a) {meinAuto = a; }
   void fahrLos() { 
       if(!meinAuto.intakteBremsleitung) throw runtime_error(&quot;zu gefährlich&quot;);
       // ...
   }
};

void zerschneideBremsleitung(Auto&amp; a) { a.intakteBremsleitung = false; }

int main() {
   Auto tollerBMW;
   Fahrer KasF;
   KasF.gibAuto(tollerBMW);
   zerschneideBremsleitung(tollerBMW);
   KasF.fahrLos(); // -&gt; Boom
</code></pre>
</blockquote>
<p>Sollte es da Boom machen, also eine Exception fliegen ???<br />
( Ich gebe erst auf, wenn ichs verstanden habe, man will ja selber auch was lernen <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1273822</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1273822</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 26 Apr 2007 10:23:59 GMT</pubDate></item><item><title><![CDATA[Reply to objekte zu anderen objekten hinzufügen on Thu, 26 Apr 2007 11:24:10 GMT]]></title><description><![CDATA[<p>KasF schrieb:</p>
<blockquote>
<p>...<br />
Sollte es da Boom machen, also eine Exception fliegen ???<br />
...</p>
</blockquote>
<p>Sagen wir mal so: Es entspricht höchstwahrscheinlich nicht der Erwartung des Programmierers oder Anwenders.</p>
<p>Wenn ich im echten Leben dem BMW, den ich Dir verkauft habe, die Bremsleitungen durchschneide, sollte Deine Prüfung auch ergeben, dass sie durchgeschnitten sind ... und Du nicht losfahren, sonst macht es &quot;Boom&quot;.</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1273857</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1273857</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Thu, 26 Apr 2007 11:24:10 GMT</pubDate></item><item><title><![CDATA[Reply to objekte zu anderen objekten hinzufügen on Thu, 26 Apr 2007 11:49:28 GMT]]></title><description><![CDATA[<p>Man bedenke das mit Zeigern die Möglichkeit besteht, dass ein internes Objekt ( Auto ) von meiner Klasse Fahrer, ohne einen Fahrer anzusprechen geändert werden könnte ... ( außnahme auto_ptr }</p>
<p>Naja, ich würde mir ne Klasse Autohandel oder so basteln, die mir nur Autos an Fahrer verkauft, so würde ich nicht direkt selber Autos erstellen und darauf zugreifen können.</p>
<pre><code class="language-cpp">class Fahrer {
        Auto myCar;
 public:
        void kaufeAuto ( const Auto&amp; aa) { myCar = aa; }
        // ... 
}

int main()
{
  Fahrer Simon2;
  Auto bmw;
  Simon2.kaufeAuto(bmw);
  zerschneideBlaBla(bmw);
  Simon2.drive();
</code></pre>
<p>Ist doch gut das du noch fahren kannst, schließlich ist das dein Auto und keiner sollte daran rumfuschen können ...</p>
<p>Wie du schon gesagt hattest, es kommt auf die Aufgabenstellung an und wie man es modelliert. Jenachdem muss man sich über sowas dann keine Gedanken machen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1273874</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1273874</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 26 Apr 2007 11:49:28 GMT</pubDate></item><item><title><![CDATA[Reply to objekte zu anderen objekten hinzufügen on Thu, 26 Apr 2007 12:01:49 GMT]]></title><description><![CDATA[<p>KasF schrieb:</p>
<blockquote>
<p>Man bedenke das mit Zeigern die Möglichkeit besteht, dass ein internes Objekt ( Auto ) von meiner Klasse Fahrer, ohne einen Fahrer anzusprechen geändert werden könnte ...</p>
</blockquote>
<p>Eben DAS sollte mein Beispiel zeigen: Im realen Leben kann es so sein, dass jemand Anderes außerhalb Deiner Kontrolle Zugriff auf Dein Auto hat - soll mein Programm das widerspiegeln, ist eine innere Kopie unpassend und Pointer/Referenz geeigneter.</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1273887</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1273887</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Thu, 26 Apr 2007 12:01:49 GMT</pubDate></item></channel></rss>