<?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[[c++] gleichnamiges Objekt unterschiedlicher Klassen mit Auswahl erstellen]]></title><description><![CDATA[<p>Hey Leute,</p>
<p>wie kann ich es anstellen mit einer Auswahl ein gleichnamiges Objekt unterschiedlicher Klassen zu erstellen?</p>
<p>ich stelle mir das so vor:</p>
<p>Wenn Eingabevar=1 dann erzeuge Objekt &quot;ga(genome)&quot; der klasse1<br />
Wenn Eingabevar=2 dann erzeuge Objekt &quot;ga(genome)&quot; der klasse2, usw.</p>
<p>Klasse1- klasseN haben dieselbe Basisklasse</p>
<p>Ich möchte dann im weiteren Quellcode auf das Objekt ga zugreifen...</p>
<p>Grüße</p>
<p>Guddy</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/219848/c-gleichnamiges-objekt-unterschiedlicher-klassen-mit-auswahl-erstellen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 07 Oct 2026 14:02:43 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/219848.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 08 Aug 2008 12:45:55 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [c++] gleichnamiges Objekt unterschiedlicher Klassen mit Auswahl erstellen on Fri, 08 Aug 2008 12:45:55 GMT]]></title><description><![CDATA[<p>Hey Leute,</p>
<p>wie kann ich es anstellen mit einer Auswahl ein gleichnamiges Objekt unterschiedlicher Klassen zu erstellen?</p>
<p>ich stelle mir das so vor:</p>
<p>Wenn Eingabevar=1 dann erzeuge Objekt &quot;ga(genome)&quot; der klasse1<br />
Wenn Eingabevar=2 dann erzeuge Objekt &quot;ga(genome)&quot; der klasse2, usw.</p>
<p>Klasse1- klasseN haben dieselbe Basisklasse</p>
<p>Ich möchte dann im weiteren Quellcode auf das Objekt ga zugreifen...</p>
<p>Grüße</p>
<p>Guddy</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1561440</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1561440</guid><dc:creator><![CDATA[guddy]]></dc:creator><pubDate>Fri, 08 Aug 2008 12:45:55 GMT</pubDate></item><item><title><![CDATA[Reply to [c++] gleichnamiges Objekt unterschiedlicher Klassen mit Auswahl erstellen on Fri, 08 Aug 2008 12:54:49 GMT]]></title><description><![CDATA[<p>Na mit einem Zeiger <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f4a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--light_bulb"
      title=":bulb:"
      alt="💡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1561445</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1561445</guid><dc:creator><![CDATA[Helfer in der Not]]></dc:creator><pubDate>Fri, 08 Aug 2008 12:54:49 GMT</pubDate></item><item><title><![CDATA[Reply to [c++] gleichnamiges Objekt unterschiedlicher Klassen mit Auswahl erstellen on Fri, 08 Aug 2008 13:01:43 GMT]]></title><description><![CDATA[<p>Ich habe ich mich zwar noch nicht lange mit C++ beschäftigt aber ich vermute mal, dass du einen Zeiger vom Typ der Basisklasse brauchst.<br />
Jede spezielle Klasse ist vom Typ der Vaterklasse!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1561449</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1561449</guid><dc:creator><![CDATA[manuche]]></dc:creator><pubDate>Fri, 08 Aug 2008 13:01:43 GMT</pubDate></item><item><title><![CDATA[Reply to [c++] gleichnamiges Objekt unterschiedlicher Klassen mit Auswahl erstellen on Fri, 08 Aug 2008 13:21:55 GMT]]></title><description><![CDATA[<p>ich kann aber von der basisklasse kein Objekt erzeugen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1561461</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1561461</guid><dc:creator><![CDATA[guddy]]></dc:creator><pubDate>Fri, 08 Aug 2008 13:21:55 GMT</pubDate></item><item><title><![CDATA[Reply to [c++] gleichnamiges Objekt unterschiedlicher Klassen mit Auswahl erstellen on Fri, 08 Aug 2008 13:23:10 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">class A{};
class B : public A{};

// ...

A* moep = new B();
</code></pre>
<p>Darauf achten das die entscheidenen Methoden virtuell sind.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1561462</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1561462</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Fri, 08 Aug 2008 13:23:10 GMT</pubDate></item><item><title><![CDATA[Reply to [c++] gleichnamiges Objekt unterschiedlicher Klassen mit Auswahl erstellen on Fri, 08 Aug 2008 13:32:18 GMT]]></title><description><![CDATA[<p>???</p>
<p>Wie würde das in meinem Besispiel mit der Schleife aussehen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1561466</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1561466</guid><dc:creator><![CDATA[guddy]]></dc:creator><pubDate>Fri, 08 Aug 2008 13:32:18 GMT</pubDate></item><item><title><![CDATA[Reply to [c++] gleichnamiges Objekt unterschiedlicher Klassen mit Auswahl erstellen on Fri, 08 Aug 2008 13:47:58 GMT]]></title><description><![CDATA[<p>Du hast zwar keine Schleife in deinem &quot;Beispiel&quot; aber naja:</p>
<pre><code class="language-cpp">class A{};
class B : public A{};
class C : public A{};

// ...

A* moep = NULL;

switch(Eingabevar)
{
case 1: moep = new B(); break;
case 2: moep = new C(); break;
default: // Fehlerbehandlung oder sowas
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1561471</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1561471</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Fri, 08 Aug 2008 13:47:58 GMT</pubDate></item><item><title><![CDATA[Reply to [c++] gleichnamiges Objekt unterschiedlicher Klassen mit Auswahl erstellen on Fri, 08 Aug 2008 14:17:34 GMT]]></title><description><![CDATA[<p>Wenn ich den Code wie folgt anwende:</p>
<pre><code class="language-cpp">GAGeneticAlgorithm* ga = NULL;
cout &lt;&lt; &quot;Klasse 1 o. 2? &quot;;
int class_type(0);
std::cin &gt;&gt; class_type;
if (class_type == 1) ga = new GASimpleGA;
else ga = new GASteadyGA;
</code></pre>
<p>kommt folgender Fehler:</p>
<pre><code>no matching function for call to `GASimpleGA::
   GASimpleGA()'
</code></pre>
<p>GAGeneticAlgorithm ist Basisklasse und GASimpleGA, GASteadyGA sind abgeleitet Klassen. Alle Klassen existieren in einer externen Bibliothek auf die ich zugreife.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1561496</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1561496</guid><dc:creator><![CDATA[guddy]]></dc:creator><pubDate>Fri, 08 Aug 2008 14:17:34 GMT</pubDate></item><item><title><![CDATA[Reply to [c++] gleichnamiges Objekt unterschiedlicher Klassen mit Auswahl erstellen on Fri, 08 Aug 2008 18:35:40 GMT]]></title><description><![CDATA[<blockquote>
<p>no matching function for call to `GASimpleGA::<br />
GASimpleGA()'</p>
</blockquote>
<p>das heißt einfach nur das es für diese Klasse keinen Defaultconstruktor gibt... du musst beim Konstruieren des Objekts also die Paramater die erforderlich sind mit angeben</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1561615</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1561615</guid><dc:creator><![CDATA[downtimes]]></dc:creator><pubDate>Fri, 08 Aug 2008 18:35:40 GMT</pubDate></item><item><title><![CDATA[Reply to [c++] gleichnamiges Objekt unterschiedlicher Klassen mit Auswahl erstellen on Mon, 11 Aug 2008 08:42:48 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>das zu übergebende Argument ist ein Objekt namens genome</p>
<pre><code>GABin2DecGenome genome(map, objective);
</code></pre>
<p>Wenn ich es wie folght einbinde:</p>
<pre><code class="language-cpp">GAGeneticAlgorithm ga(genome) = NULL;
cout &lt;&lt; &quot;Klasse 1 o. 2? &quot;;
int class_type(0);
std::cin &gt;&gt; class_type;
if (class_type == 1) ga(genome) = new GASimpleGA;
else ga(genome) = new GASteadyGA;
</code></pre>
<p>beklomme ich diese Fehler:</p>
<pre><code>Optimierer.C:214: error: cannot declare variable `ga' to be of type `
   GAGeneticAlgorithm'
Optimierer.C:214: error:   because the following virtual functions are
   abstract:
/smb_mnt/tgutjahr/p/groupdrives/oe624-lsk/Aktuell/dipl/08-gutjahr/programme/Optimierungsprogramm/Galib/galib247/include/ga/GABaseGA.h:133: error:
   virtual void GAGeneticAlgorithm::initialize(unsigned int)
/smb_mnt/tgutjahr/p/groupdrives/oe624-lsk/Aktuell/dipl/08-gutjahr/programme/Optimierungsprogramm/Galib/galib247/include/ga/GABaseGA.h:134: error:
   virtual void GAGeneticAlgorithm::step()
Optimierer.C:214: error: assignment (not initialization) in declaration
Optimierer.C:218: error: no match for call to `(GAGeneticAlgorithm) (
   GABin2DecGenome&amp;)'
Optimierer.C:218: error: no matching function for call to `GASimpleGA::
   GASimpleGA()'
/smb_mnt/tgutjahr/p/groupdrives/oe624-lsk/Aktuell/dipl/08-gutjahr/programme/Optimierungsprogramm/Galib/galib247/include/ga/GASimpleGA.h:24: error: candidates
   are: GASimpleGA::GASimpleGA(const GASimpleGA&amp;)
/smb_mnt/tgutjahr/p/groupdrives/oe624-lsk/Aktuell/dipl/08-gutjahr/programme/Optimierungsprogramm/Galib/galib247/include/ga/GASimpleGA.h:23: error:
                  GASimpleGA::GASimpleGA(const GAPopulation&amp;)
/smb_mnt/tgutjahr/p/groupdrives/oe624-lsk/Aktuell/dipl/08-gutjahr/programme/Optimierungsprogramm/Galib/galib247/include/ga/GASimpleGA.h:22: error:
                  GASimpleGA::GASimpleGA(const GAGenome&amp;)
Optimierer.C:219: error: no match for call to `(GAGeneticAlgorithm) (
   GABin2DecGenome&amp;)'
</code></pre>
<p>Was ist hier schief gelaufen??</p>
<p>Grüße</p>
<p>Guddy</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1562505</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1562505</guid><dc:creator><![CDATA[guddy]]></dc:creator><pubDate>Mon, 11 Aug 2008 08:42:48 GMT</pubDate></item><item><title><![CDATA[Reply to [c++] gleichnamiges Objekt unterschiedlicher Klassen mit Auswahl erstellen on Mon, 11 Aug 2008 08:50:10 GMT]]></title><description><![CDATA[<p>Du machst grundsätzlich was falsch. Du hast die Klassen auch nicht geschrieben, oder?<br />
Ohne deren Signaturen kann ich dir da auch nicht weiterhelfen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1562511</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1562511</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Mon, 11 Aug 2008 08:50:10 GMT</pubDate></item><item><title><![CDATA[Reply to [c++] gleichnamiges Objekt unterschiedlicher Klassen mit Auswahl erstellen on Mon, 11 Aug 2008 10:14:00 GMT]]></title><description><![CDATA[<p>nein, die habe ich nicht geschrieben.</p>
<p>GABin2Dec hat folgenden Code:</p>
<pre><code class="language-cpp">#ifndef _ga_bin2dec_h_
#define _ga_bin2dec_h_

#include &lt;ga/GA1DBinStrGenome.h&gt;
#include &lt;ga/gabincvt.h&gt;

#ifdef max
#undef max
#endif

#ifdef min
#undef min
#endif

class GABin2DecPhenotypeCore {
public:
  GABin2DecPhenotypeCore();
  GABin2DecPhenotypeCore(const GABin2DecPhenotypeCore&amp;);
  virtual ~GABin2DecPhenotypeCore();
  GABin2DecPhenotypeCore&amp; operator=(const GABin2DecPhenotypeCore&amp;);

  unsigned int cnt;		// how many references to us?
  unsigned int csz;		// how big are the chunks we allocate?
  unsigned int n, N;		// how many phenotypes do we have? (real,alloc)
  unsigned short *nbits;	// number of bits that max/min get mapped into
  unsigned short *oset;		// offset of the nth gene
  float *minval, *maxval;	// min, max value of phenotype elem
  unsigned int sz;		// total number of bits required
};

class GABin2DecPhenotype {
public:
  GABin2DecPhenotype() : core(new GABin2DecPhenotypeCore) {}
  GABin2DecPhenotype(const GABin2DecPhenotype&amp; p) :
  core(new GABin2DecPhenotypeCore(*(p.core))) {}
  virtual ~GABin2DecPhenotype(){core-&gt;cnt -= 1; if(core-&gt;cnt==0){delete core;}}
  GABin2DecPhenotype &amp; operator=(const GABin2DecPhenotype&amp; p){
    if(&amp;p != this) *core = *(p.core);
    return *this;
  } 
  GABin2DecPhenotype * clone() const {return new GABin2DecPhenotype(*this);}
  void link(GABin2DecPhenotype&amp; p){
    core-&gt;cnt -= 1;
    if(core-&gt;cnt == 0) delete core;
    core=p.core; core-&gt;cnt += 1;
  }
  void add(unsigned int nbits, float min, float max);
  void remove(unsigned int which);
  unsigned int size() const {return core-&gt;sz;}
  unsigned int nPhenotypes() const {return core-&gt;n;}
  float min(int which) const {return core-&gt;minval[which];}
  float max(int which) const {return core-&gt;maxval[which];}
  int length(int which) const {return core-&gt;nbits[which];}
  int offset(int which) const {return core-&gt;oset[which];}
  int equal(const GABin2DecPhenotype&amp;) const;

protected:
  GABin2DecPhenotypeCore *core;
};

inline int 
operator==(const GABin2DecPhenotype&amp; a, const GABin2DecPhenotype&amp; b) {
  return a.equal(b);
}

inline int 
operator!=(const GABin2DecPhenotype&amp; a, const GABin2DecPhenotype&amp; b) {
  return (a.equal(b) ? 0 : 1);
}

/* ----------------------------------------------------------------------------
   The phenotype does reference counting, so we can make a copy of it for our
own use and we don't have to worry about extra overhead.
---------------------------------------------------------------------------- */
class GABin2DecGenome : public GA1DBinaryStringGenome {
public:
  GADefineIdentity(&quot;GABin2DecGenome&quot;, GAID::Bin2DecGenome);

public:
  GABin2DecGenome(const GABin2DecPhenotype &amp; p,
		  GAGenome::Evaluator f=(GAGenome::Evaluator)0,
		  void * u=(void *)0) : 
  GA1DBinaryStringGenome(p.size(), f, u), ptype(new GABin2DecPhenotype(p)){
    comparator(DEFAULT_BIN2DEC_COMPARATOR);
    encoder(DEFAULT_BIN2DEC_ENCODER);
    decoder(DEFAULT_BIN2DEC_DECODER);
  }
  GABin2DecGenome(const GABin2DecGenome &amp; orig) :
  GA1DBinaryStringGenome(orig.sz) {ptype=(GABin2DecPhenotype *)0; copy(orig);}
  GABin2DecGenome&amp; operator=(const GAGenome&amp; arg) {copy(arg); return *this;}
  virtual ~GABin2DecGenome(){delete ptype;}
  virtual GAGenome *clone(GAGenome::CloneMethod flag=CONTENTS) const ;
  virtual void copy(const GAGenome &amp;);

#ifdef GALIB_USE_STREAMS
  virtual int read (STD_ISTREAM &amp;);
  virtual int write (STD_OSTREAM &amp;) const;
#endif

  virtual int equal(const GAGenome &amp;) const;
  virtual int notequal(const GAGenome &amp;) const;

  const GABin2DecPhenotype &amp; phenotypes(const GABin2DecPhenotype &amp; p);
  const GABin2DecPhenotype &amp; phenotypes() const {return *ptype;}
  int nPhenotypes() const {return ptype-&gt;nPhenotypes();}
  float phenotype(unsigned int n, float val);
  float phenotype(unsigned int n) const;

  void encoder(GABinaryEncoder e){encode = e; _evaluated = gaFalse;}
  void decoder(GABinaryDecoder d){decode = d; _evaluated = gaFalse;}

protected:
  GABin2DecPhenotype * ptype;
  GABinaryEncoder encode;	// function we use to encode the bits
  GABinaryDecoder decode;	// function we use to decode the bits
};

#endif
</code></pre>
<p>den Code der GAGeneticAlgorithm- klasse hab ich leider nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1562569</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1562569</guid><dc:creator><![CDATA[guddy]]></dc:creator><pubDate>Mon, 11 Aug 2008 10:14:00 GMT</pubDate></item><item><title><![CDATA[Reply to [c++] gleichnamiges Objekt unterschiedlicher Klassen mit Auswahl erstellen on Mon, 11 Aug 2008 11:05:51 GMT]]></title><description><![CDATA[<p>guddy schrieb:</p>
<blockquote>
<pre><code class="language-cpp">GAGeneticAlgorithm ga(genome) = NULL;
</code></pre>
</blockquote>
<p>Kannst du uns erzählen, was du mit dieser Zeile erreichen willst? Ganz ehrlich, wenn man das mit deinen vorherigen Posts vergleicht, ergibt sich der Eindruck, dass du versuchst Codefetzen zusammenzustückeln die du nichtmal im Ansatz verstehst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1562616</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1562616</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Mon, 11 Aug 2008 11:05:51 GMT</pubDate></item><item><title><![CDATA[Reply to [c++] gleichnamiges Objekt unterschiedlicher Klassen mit Auswahl erstellen on Mon, 11 Aug 2008 11:58:07 GMT]]></title><description><![CDATA[<p>Mir ist schon klar das ich nicht alles verstehe was in den einzelenen Klassen der Bibliothek steht die ich hier benutze. Aber muss ich das?</p>
<p>Mein Programm, dass ich auf Grundlage der Bibliothek programmiert habe funktioniert bis jetzt tadellos. Nun möchte einfach eine Abfrage einbauen die mir die einfache Auswahl des Algorithmusobjektes ga ermöglicht.</p>
<p>Es gibt hier zwei Algorithmenklassen, die sich beide aus der Basisklasse GAGeneticAlgortihm ableiten und zwar GASimpleGA und GASteadystateGA. die Constructors, die ich verwenden will sind : GASimpleGA (const GAGenome&amp;) und GASteadyStateGA(GAGenome&amp;). das zu erzeugende Algorithmusobjekt ga kann nun<br />
entweder der Klasse GASimpleGA oder GASteaadyGA angehören.<br />
Ich möchte als Argument dem Objekt ga das Objekt genome übergeben, welches der Klasse GABin2DecGenome (Hierachie ist : public GA1DStringGenome : public GABinaryString, public GAGenome) angehört. Diese Objekt genome habe ich vorher erzeugt. Der Sinn der Geschichte ist, dass ich alle folgenden public Funktionen der GAGeneticAlgorithm-Klasse mit dem Objekt ga nutzen will. Und das ohne den Code nochmal neu zu schreiben. Beispiel:</p>
<pre><code class="language-cpp">ga.parameters (params);			//Parameterliste initialisieren
ga.maximize();				//Minimiere die Zielfunktion
ga.selectScores(GAStatistics::AllScores); // aufrufen aller Statistiken in neu erzeugteen Statistikobjekten

/*Abfrage: startpop. einlesen? nein: ga.initialize. else: init pop*/
/*anstatt des ga initialisierer den pop-initialisierer verwenden um startpopulation einzulesen? */			

//Ga-Objekt initialisieren
ga.initialize ();			//generiert die Ind. der 1. Gen.
</code></pre>
<p>Ich hoffe das Problem ist jetzt etwas verständlicher formuliert.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/9960">@pumuckl</a>: mit dem code</p>
<pre><code>GAGeneticAlgorithm ga(genome) = NULL;
</code></pre>
<p>wollte ich dem erzeugten Objekt den Wert Null zuweisen. ICh dachte ich wende den Code von Fellhuhn richtig an, tu ich aber anscheinend nicht.</p>
<p>Ich bin auf jeden Fall noch Anfänger auf dem Gebiet...</p>
<p>Grüße</p>
<p>Guddy</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1562648</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1562648</guid><dc:creator><![CDATA[guddy]]></dc:creator><pubDate>Mon, 11 Aug 2008 11:58:07 GMT</pubDate></item><item><title><![CDATA[Reply to [c++] gleichnamiges Objekt unterschiedlicher Klassen mit Auswahl erstellen on Mon, 11 Aug 2008 12:16:16 GMT]]></title><description><![CDATA[<p>guddy schrieb:</p>
<blockquote>
<p>Es gibt hier zwei Algorithmenklassen, die sich beide aus der Basisklasse GAGeneticAlgortihm ableiten und zwar GASimpleGA und GASteadystateGA. die Constructors, die ich verwenden will sind : GASimpleGA (const GAGenome&amp;) und GASteadyStateGA(GAGenome&amp;). das zu erzeugende Algorithmusobjekt ga kann nun<br />
entweder der Klasse GASimpleGA oder GASteaadyGA angehören.<br />
Ich möchte als Argument dem Objekt ga das Objekt genome übergeben, welches der Klasse GABin2DecGenome (Hierachie ist : public GA1DStringGenome : public GABinaryString, public GAGenome) angehört.</p>
</blockquote>
<pre><code class="language-cpp">GAGeneticAlgortihm *ga = NULL;
if (wasauchimmer == 1) ga = new GASimpleGA(genome);
else                   ga = new GASteadyStateGA(genome);
ga-&gt;wasauchimmer();

// ...
delete ga;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1562654</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1562654</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Mon, 11 Aug 2008 12:16:16 GMT</pubDate></item><item><title><![CDATA[Reply to [c++] gleichnamiges Objekt unterschiedlicher Klassen mit Auswahl erstellen on Mon, 11 Aug 2008 12:19:22 GMT]]></title><description><![CDATA[<p>guddy schrieb:</p>
<blockquote>
<p>Mir ist schon klar das ich nicht alles verstehe was in den einzelenen Klassen der Bibliothek steht die ich hier benutze. Aber muss ich das?</p>
</blockquote>
<p>Wenn du die Klassen so nutzt, wie sie sind, und nicht mehr veränderst, reicht es, wenn du weisst, was die Methoden machen. Du musst dazu nicht zwingend die interne Implementation kennen. Wenn du allerdings die Funktionen dieser Klassen erweitern willst (z.B. durch Vererbung), solltest du schon Bescheid über die Implementationen wissen.</p>
<p>guddy schrieb:</p>
<blockquote>
<p>Ich bin auf jeden Fall noch Anfänger auf dem Gebiet...</p>
</blockquote>
<p>Dann empfehle ich dir, dich zuerst richtig in Klassen und Objektorientierung einzuarbeiten, bevor du mit Dingen wie genetischen Algorithmen arbeitest.</p>
<p>Du kannst nämlich nicht einfach einer Instanz von <code>GAGeneticAlgorithm</code> einen Wert wie <code>NULL</code> zuweisen. Wenn schon, dann einem Zeiger. Mit solchen Dingen solltest du dich unbedingt noch genauer auseinandersetzen, sonst wirst du dauernd wieder auf Probleme stossen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1562656</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1562656</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Mon, 11 Aug 2008 12:19:22 GMT</pubDate></item><item><title><![CDATA[Reply to [c++] gleichnamiges Objekt unterschiedlicher Klassen mit Auswahl erstellen on Mon, 11 Aug 2008 13:24:40 GMT]]></title><description><![CDATA[<p>Super. Das funktioniert so wie ichs mir erhofft hatte. ICh danke allen für ihre mühe.</p>
<p>Viele Grüße<br />
Guddy</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1562708</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1562708</guid><dc:creator><![CDATA[guddy]]></dc:creator><pubDate>Mon, 11 Aug 2008 13:24:40 GMT</pubDate></item><item><title><![CDATA[Reply to [c++] gleichnamiges Objekt unterschiedlicher Klassen mit Auswahl erstellen on Mon, 11 Aug 2008 15:15:59 GMT]]></title><description><![CDATA[<p>guddy schrieb:</p>
<blockquote>
<p>Mir ist schon klar das ich nicht alles verstehe was in den einzelenen Klassen der Bibliothek steht die ich hier benutze. Aber muss ich das?</p>
</blockquote>
<p>Der Code den du gepostet hast war eine Deklaration einer Variable ga, deren Konstruktor du ein Objekt genome übergeben hast und gleichzeitig eine Zuweisung mit NULL. Später hast du (zumindest sieht der Code so aus) eine Funktion ga aufgerufen, der du wiederum das selbe Objket genome als Argument verpasst hast und hast dem Ergebnis dieser Funktion einen Wert zugewiesen. Okay, man kann es auch als aufruf des operator() auf ga interpretieren, dann hast du wenigstens keine Zuweisung an ein temporäres Objket.</p>
<p>Alles in allem ist das aber schon aus C++-Sicht ziemlicher Humbug, da braucht man kein Verständnis der verwendeten Klassen zu haben. Mein Tip ist daher: setz dich mit den Sprachmitteln von C++ auseinander, damit du geposteten Code zumindest von der Semantik her verstehst und entsprechend umformen kannst um ihn selbst anzuwenden. Dass Copy&amp;Paste-Kauderwelsch vom Compiler verstanden wird ist höchst unwahrscheinlich, dass es das tut was du möchtest erst recht <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>/edit: &quot;dem erzeugten Objekt den Wert NULL zuweisen&quot; - ein erster Ansatzpunkt wäre auf jeden Fall schonma, den unterschied zwischen Zeigern und Objekten kennezulernen <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/1562756</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1562756</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Mon, 11 Aug 2008 15:15:59 GMT</pubDate></item></channel></rss>