<?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[abtract???]]></title><description><![CDATA[<p>Hey Leute, ich habe verschiedene db-job die unterschiedlich abgearbeitet werden müssen und mir soetwas erstellt:</p>
<p>zb:</p>
<p>class dbjob {<br />
public:<br />
virtual string getState();<br />
virtual short getWhatJob();<br />
...<br />
}</p>
<p>class dbjobstate : public dbjob {<br />
public:<br />
string getState();<br />
short getWhatJob();</p>
<p>int getGroup();<br />
}</p>
<p>Im Hauptprogramm gibt es eine queue die die jobs nacheinander abarbeitet.<br />
dort zeigt ein dbjob zeiger immer auf den jeweiligen job.</p>
<p>dbjob *dbjobpointer;</p>
<p>if ( typeid (*dbjobpointer) == typeid (dbjobstate))<br />
dbjobpointer-&gt;getGroup(); /// get nicht!!!!</p>
<p>compiler output:<br />
DBConnector.cpp:146: error: ‘pJob’ is not a member of ‘DBJobState’<br />
make: *** [debug/DBConnector.o] Error 1</p>
<p>Ist mit ja auch klar, aber kann ich die Funktion irgendwie ausführen??<br />
was habe ich für möglichkeiten???</p>
<p>mfg<br />
dave</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/197238/abtract</link><generator>RSS for Node</generator><lastBuildDate>Thu, 01 Oct 2026 02:57:23 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/197238.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 08 Nov 2007 10:57:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to abtract??? on Thu, 08 Nov 2007 10:57:52 GMT]]></title><description><![CDATA[<p>Hey Leute, ich habe verschiedene db-job die unterschiedlich abgearbeitet werden müssen und mir soetwas erstellt:</p>
<p>zb:</p>
<p>class dbjob {<br />
public:<br />
virtual string getState();<br />
virtual short getWhatJob();<br />
...<br />
}</p>
<p>class dbjobstate : public dbjob {<br />
public:<br />
string getState();<br />
short getWhatJob();</p>
<p>int getGroup();<br />
}</p>
<p>Im Hauptprogramm gibt es eine queue die die jobs nacheinander abarbeitet.<br />
dort zeigt ein dbjob zeiger immer auf den jeweiligen job.</p>
<p>dbjob *dbjobpointer;</p>
<p>if ( typeid (*dbjobpointer) == typeid (dbjobstate))<br />
dbjobpointer-&gt;getGroup(); /// get nicht!!!!</p>
<p>compiler output:<br />
DBConnector.cpp:146: error: ‘pJob’ is not a member of ‘DBJobState’<br />
make: *** [debug/DBConnector.o] Error 1</p>
<p>Ist mit ja auch klar, aber kann ich die Funktion irgendwie ausführen??<br />
was habe ich für möglichkeiten???</p>
<p>mfg<br />
dave</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1399647</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1399647</guid><dc:creator><![CDATA[davidwal]]></dc:creator><pubDate>Thu, 08 Nov 2007 10:57:52 GMT</pubDate></item><item><title><![CDATA[Reply to abtract??? on Thu, 08 Nov 2007 11:05:06 GMT]]></title><description><![CDATA[<p>Wenn jede von dbjob abgeleitete Klasse eine Gruppe haben soll, kannst du diese Methode pur virtual in der Basisklasse definieren ( <code>virtual int getGroup()=0;</code> ). Andernfalls mußt du den Pointer auf den richtigen Typ casten (dynamic_cast&lt;&gt; ist das sicherste), um dem Compiler klarzumachen, was für ein Objekt er <em>wirklich</em> hat (für den Compiler zeigt der Pointer immer noch auf ein 'dbjob'-Objekt - und das hat keine getGroup()-Methode).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1399651</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1399651</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 08 Nov 2007 11:05:06 GMT</pubDate></item><item><title><![CDATA[Reply to abtract??? on Thu, 08 Nov 2007 11:10:49 GMT]]></title><description><![CDATA[<p>klar kannst die ausführen die funktion, das ist erstmal recht einfach ABER wenn die funktion keine parameter übergeben bekommt und sich von alleine auf den aktuellen job beziehen soll dann frage ich dich woher soll sie das wissen denn, du leitest dbjob in dbjobstate ab aber bildest eine/ mehrere instanzen von dbjob das heisst dbjobstate hat 0 sinn. wenn du nat. class dbjob : public dbjobstate machst dann hast nat. die funktion im bezug zum aktuellen job. aber was weis ich halt keine ahnung wie der rest aussieht und ob das dein fehler ist oder gewollt. fehler kann ja auch sein dbjob *dbjobpointer, ich meine du hast dbjobestate die erbt von dbjob und dann machst die nichts damit?</p>
<p>Edit:</p>
<p>dynamic_cast&lt;&gt; geht auch halt nen bezug auf dbjobstate herstellen sonst ist sie doch nutzlos die klasse</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1399653</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1399653</guid><dc:creator><![CDATA[oelsni]]></dc:creator><pubDate>Thu, 08 Nov 2007 11:10:49 GMT</pubDate></item><item><title><![CDATA[Reply to abtract??? on Thu, 08 Nov 2007 11:53:01 GMT]]></title><description><![CDATA[<p>Danke, die cast möglichkeit war mir nicht in den sinn gekommen. Finde es zwar nicht so sauber an dieser stelle (in meinen Projekt) aber egal - ist halt ne ausnahme - Dnake für eure schnelle antwort</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1399687</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1399687</guid><dc:creator><![CDATA[davidwal]]></dc:creator><pubDate>Thu, 08 Nov 2007 11:53:01 GMT</pubDate></item><item><title><![CDATA[Reply to abtract??? on Thu, 08 Nov 2007 11:57:53 GMT]]></title><description><![CDATA[<p>Ja, der Cast ist etwas unsauber - aber manchmal geh es nicht anders (wobei es vermutlich die bessere Alternative wäre, die Methode in die Basisklasse zu übernehmen - aber das hängt auch davon ab, wieviele Kindklassen du definiert hast und wieviele davon ein getGroup() benötigen).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1399694</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1399694</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 08 Nov 2007 11:57:53 GMT</pubDate></item><item><title><![CDATA[Reply to abtract??? on Thu, 08 Nov 2007 13:02:34 GMT]]></title><description><![CDATA[<p>at cstoll:</p>
<p>zu viele (ca. 14 verschiede dbjob). ist halt ne ausnahme <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="😉"
    /> kann es aber jetzt so auch vertretten. wo für ist der cast denn auch sonst da <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/1399737</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1399737</guid><dc:creator><![CDATA[davidwal]]></dc:creator><pubDate>Thu, 08 Nov 2007 13:02:34 GMT</pubDate></item></channel></rss>