<?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[OOP Fragen]]></title><description><![CDATA[<p>hi</p>
<p>Brauch DRINGEND (!!!) ein paar Antworten.<br />
Die Fragen sind vom Prof und stehen in Anführungszeichen...</p>
<p>&quot;Was muß bei der Definition der Klasse STRING beachtet werden, wenn im Programm folgende Vereinbarung<br />
möglich sein soll:<br />
STRING stringField[10];&quot;<br />
Man kann doch aber arrays von Objekten erzeugen. Was muss da beachtet werden?</p>
<p>&quot;Warum können die Funktionsdefinitionen für eine Template-Klasse nicht getrennt übersetzt werden?&quot;<br />
???</p>
<p>&quot;Was kann ein Exception-Handler tun, wenn er eine gefangene Ausnahme nicht vollständig behandeln kann?&quot;<br />
Ich dachte ein Exception-Handler kann eine Ausnahme nur ganz oder gar nicht behandeln.</p>
<p>&quot;Gegeben seien die beiden Klassen A und B, wobei B von A abgeleitet sei (A ist Basisklasse). In beiden Klassen<br />
ist die virtuelle Funktion f1 definiert. Gegeben seien weiterhin folgende Definitionen:<br />
A a, *pa = &amp;a;<br />
B b, *pb = &amp;b;<br />
A *pab = new B;<br />
Geben Sie hinter jeder der folgenden Anweisungen an, ob A::f1 oder B::f1 aufgerufen wird, und ob späte Bindung erfolgt:<br />
a.f1(); //A::f1 frühe Bindung<br />
b.f1(); //B::f1 frühe Bindung<br />
pa-&gt;f1(); //A::f1 frühe Bindung ???<br />
pb-&gt;f1(); //B::f1 frühe Bindung ???<br />
pab-&gt;f1();//B::f1 späte Bindung&quot;</p>
<p>Bei den Fragezeichen. Die Zeiger pa und pb sind doch statisch, da sie auf vorkompilierte Objekte a und b verweisen. Ist das dann nicht frühe Bindung? Oder doch späte?</p>
<p>Bitte um schnelle Hilfe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/196996/oop-fragen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 30 Sep 2026 23:24:48 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/196996.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 05 Nov 2007 14:10:54 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to OOP Fragen on Mon, 05 Nov 2007 14:10:54 GMT]]></title><description><![CDATA[<p>hi</p>
<p>Brauch DRINGEND (!!!) ein paar Antworten.<br />
Die Fragen sind vom Prof und stehen in Anführungszeichen...</p>
<p>&quot;Was muß bei der Definition der Klasse STRING beachtet werden, wenn im Programm folgende Vereinbarung<br />
möglich sein soll:<br />
STRING stringField[10];&quot;<br />
Man kann doch aber arrays von Objekten erzeugen. Was muss da beachtet werden?</p>
<p>&quot;Warum können die Funktionsdefinitionen für eine Template-Klasse nicht getrennt übersetzt werden?&quot;<br />
???</p>
<p>&quot;Was kann ein Exception-Handler tun, wenn er eine gefangene Ausnahme nicht vollständig behandeln kann?&quot;<br />
Ich dachte ein Exception-Handler kann eine Ausnahme nur ganz oder gar nicht behandeln.</p>
<p>&quot;Gegeben seien die beiden Klassen A und B, wobei B von A abgeleitet sei (A ist Basisklasse). In beiden Klassen<br />
ist die virtuelle Funktion f1 definiert. Gegeben seien weiterhin folgende Definitionen:<br />
A a, *pa = &amp;a;<br />
B b, *pb = &amp;b;<br />
A *pab = new B;<br />
Geben Sie hinter jeder der folgenden Anweisungen an, ob A::f1 oder B::f1 aufgerufen wird, und ob späte Bindung erfolgt:<br />
a.f1(); //A::f1 frühe Bindung<br />
b.f1(); //B::f1 frühe Bindung<br />
pa-&gt;f1(); //A::f1 frühe Bindung ???<br />
pb-&gt;f1(); //B::f1 frühe Bindung ???<br />
pab-&gt;f1();//B::f1 späte Bindung&quot;</p>
<p>Bei den Fragezeichen. Die Zeiger pa und pb sind doch statisch, da sie auf vorkompilierte Objekte a und b verweisen. Ist das dann nicht frühe Bindung? Oder doch späte?</p>
<p>Bitte um schnelle Hilfe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1398051</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1398051</guid><dc:creator><![CDATA[opengl_noob]]></dc:creator><pubDate>Mon, 05 Nov 2007 14:10:54 GMT</pubDate></item><item><title><![CDATA[Reply to OOP Fragen on Mon, 05 Nov 2007 14:18:31 GMT]]></title><description><![CDATA[<p>opengl_noob schrieb:</p>
<blockquote>
<p>&quot;Was muß bei der Definition der Klasse STRING beachtet werden, wenn im Programm folgende Vereinbarung<br />
möglich sein soll:<br />
STRING stringField[10];&quot;<br />
Man kann doch aber arrays von Objekten erzeugen. Was muss da beachtet werden?</p>
</blockquote>
<p>Ja, man kann, allerdings nicht mit beliebigen Objekten. Damit das funktioniert, braucht die Klasse einen Default-Ctor.</p>
<blockquote>
<p>&quot;Warum können die Funktionsdefinitionen für eine Template-Klasse nicht getrennt übersetzt werden?&quot;<br />
???</p>
</blockquote>
<p>Weil der Compiler die Funktionsdefinition UND die Instanziierung an einem Platz haben will, um etwas produktives fabrizieren zu können (ja, es gibt &quot;export&quot;, aber das unterstützt immer noch fast niemand).</p>
<blockquote>
<p>&quot;Was kann ein Exception-Handler tun, wenn er eine gefangene Ausnahme nicht vollständig behandeln kann?&quot;<br />
Ich dachte ein Exception-Handler kann eine Ausnahme nur ganz oder gar nicht behandeln.</p>
</blockquote>
<p>Nein, er kann die Ausnahme auch kurz ansehen und dann weitergeben (throw;)</p>
<blockquote>
<p>&quot;Gegeben seien die beiden Klassen A und B, wobei B von A abgeleitet sei (A ist Basisklasse). In beiden Klassen<br />
ist die virtuelle Funktion f1 definiert. Gegeben seien weiterhin folgende Definitionen:<br />
A a, *pa = &amp;a;<br />
B b, *pb = &amp;b;<br />
A *pab = new B;<br />
Geben Sie hinter jeder der folgenden Anweisungen an, ob A::f1 oder B::f1 aufgerufen wird, und ob späte Bindung erfolgt:<br />
a.f1(); //A::f1 frühe Bindung<br />
b.f1(); //B::f1 frühe Bindung<br />
pa-&gt;f1(); //A::f1 frühe Bindung ???<br />
pb-&gt;f1(); //B::f1 frühe Bindung ???<br />
pab-&gt;f1();//B::f1 späte Bindung&quot;</p>
<p>Bei den Fragezeichen. Die Zeiger pa und pb sind doch statisch, da sie auf vorkompilierte Objekte a und b verweisen. Ist das dann nicht frühe Bindung? Oder doch späte?</p>
</blockquote>
<p>Das müsste späte Bindung sein - schließlich kann der Compiler nicht feststellen, ob zwischen den Definitionen und den Aufrufen noch ein &quot;pa=pb;&quot; stattgefunden hat.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1398055</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1398055</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 05 Nov 2007 14:18:31 GMT</pubDate></item><item><title><![CDATA[Reply to OOP Fragen on Mon, 05 Nov 2007 14:22:26 GMT]]></title><description><![CDATA[<p>Was ist denn eine frühe und was eine späte Bindung?</p>
<blockquote>
<p>&quot;Gegeben seien die beiden Klassen A und B, wobei B von A abgeleitet sei (A ist Basisklasse). In beiden Klassen<br />
ist die virtuelle Funktion f1 definiert. Gegeben seien weiterhin folgende Definitionen:<br />
A a, *pa = &amp;a;<br />
B b, *pb = &amp;b;<br />
A *pab = new B;<br />
AUFGABE: Geben Sie hinter jeder der folgenden Anweisungen an, ob A::f1 oder B::f1 aufgerufen wird, und ob späte Bindung erfolgt!<br />
a.f1();<br />
b.f1();<br />
pa-&gt;f1();<br />
pb-&gt;f1();<br />
pab-&gt;f1();</p>
</blockquote>
<pre><code class="language-cpp">class a
{
public:
    virtual void f1() { std::cout &lt;&lt; &quot;a&quot; &lt;&lt; std::endl; }
};

class b : public a
{
public:
    virtual void f1() { std::cout &lt;&lt; &quot;b&quot; &lt;&lt; std::endl; }
};
</code></pre>
<p>...</p>
<pre><code class="language-cpp">a a_inst; // Erzeugen eines a-Objektes auf dem Stack
a* a_ptr = &amp;a_inst; // Zeiger auf a-Objekt a_inst auf dem Stack
b b_inst; // Erzeugen eines b-Objektes auf dem Stack
b* b_ptr = &amp;b_inst; // Zeiger auf b-Objekt b_inst auf dem Stack
a* base_ptr = new b; // Erzeugen eines b-Objektes auf dem Heap
</code></pre>
<p>So das ist der Unterschied zwischen den einzellnen Sachen. Wo ist da jetzt ne direkte und ne indirekte Bindung ... wasn Quark <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /></p>
<blockquote>
<p>Warum können die Funktionsdefinitionen für eine Template-Klasse nicht getrennt übersetzt werden?</p>
</blockquote>
<p>Auf Deutsch: Warum müssen Templates im Header sein?</p>
<blockquote>
<blockquote>
<p>Was muß bei der Definition der Klasse STRING beachtet werden, wenn im Programm folgende Vereinbarung<br />
möglich sein soll:<br />
STRING stringField[10];</p>
</blockquote>
<p>Man kann Arrays von Objekten erzeugen. Was muss da beachtet werden?</p>
</blockquote>
<p>Richtig, nichts.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1398061</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1398061</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Mon, 05 Nov 2007 14:22:26 GMT</pubDate></item><item><title><![CDATA[Reply to OOP Fragen on Mon, 05 Nov 2007 14:25:20 GMT]]></title><description><![CDATA[<p>(D)Evil schrieb:</p>
<blockquote>
<p>So das ist der Unterschied zwischen den einzellnen Sachen. Wo ist da jetzt ne direkte und ne indirekte Bindung ... wasn Quark <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /></p>
</blockquote>
<blockquote>
<blockquote>
<p>Man kann Arrays von Objekten erzeugen. Was muss da beachtet werden?</p>
</blockquote>
<p>Richtig, nichts.</p>
</blockquote>
<p>Manchmal solltest Du auf den Ton achten, den Du bei Deinen (z.T. falschen) Antworten an den Tag legst :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1398063</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1398063</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Mon, 05 Nov 2007 14:25:20 GMT</pubDate></item><item><title><![CDATA[Reply to OOP Fragen on Mon, 05 Nov 2007 14:27:50 GMT]]></title><description><![CDATA[<p>(D)Evil schrieb:</p>
<blockquote>
<p>So das ist der Unterschied zwischen den einzellnen Sachen. Wo ist da jetzt ne direkte und ne indirekte Bindung ... wasn Quark <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /></p>
</blockquote>
<p>Nicht &quot;direkte&quot; oder &quot;indirekte&quot; Bindung, sondern &quot;frühe&quot; (der Compiler kann schon entscheiden, welches die richtige Methode ist) vs. &quot;späte&quot; (die tatsächlich aufgerufene Methode wird erst zur Laufzeit festgelegt.</p>
<blockquote>
<blockquote>
<blockquote>
<p>Was muß bei der Definition der Klasse STRING beachtet werden, wenn im Programm folgende Vereinbarung<br />
möglich sein soll:<br />
STRING stringField[10];</p>
</blockquote>
<p>Man kann Arrays von Objekten erzeugen. Was muss da beachtet werden?</p>
</blockquote>
<p>Richtig, nichts.</p>
</blockquote>
<p>Falsch - es gibt durchaus Klassen, die sich nicht in ein Array pressen lassen <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/1398065</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1398065</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 05 Nov 2007 14:27:50 GMT</pubDate></item><item><title><![CDATA[Reply to OOP Fragen on Mon, 05 Nov 2007 14:44:59 GMT]]></title><description><![CDATA[<blockquote>
<p>&quot;Warum können die Funktionsdefinitionen für eine Template-Klasse nicht getrennt übersetzt werden?&quot;<br />
???</p>
</blockquote>
<p>Weil der Compiler die Funktionsdefinition UND die Instanziierung an einem Platz haben will, um etwas produktives fabrizieren zu können (ja, es gibt &quot;export&quot;, aber das unterstützt immer noch fast niemand).</p>
<p>Hä? Bei mir geht das, wenn ich die Deklaration und Definition einer Methode in die Header-Datei und main in der cpp lasse, kompiliert er ohne Probs.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1398081</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1398081</guid><dc:creator><![CDATA[opengl_noob]]></dc:creator><pubDate>Mon, 05 Nov 2007 14:44:59 GMT</pubDate></item><item><title><![CDATA[Reply to OOP Fragen on Mon, 05 Nov 2007 14:46:54 GMT]]></title><description><![CDATA[<p>[quote=&quot;CStoll&quot;]</p>
<p>opengl_noob schrieb:</p>
<blockquote>
<p>&quot;Was muß bei der Definition der Klasse STRING beachtet werden, wenn im Programm folgende Vereinbarung<br />
möglich sein soll:<br />
STRING stringField[10];&quot;<br />
Man kann doch aber arrays von Objekten erzeugen. Was muss da beachtet werden?</p>
</blockquote>
<p>Ja, man kann, allerdings nicht mit beliebigen Objekten. Damit das funktioniert, braucht die Klasse einen Default-Ctor.</p>
<p>Sry, versteh ich nicht. Was hat der Default-Konstruktor damit zu tun?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1398082</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1398082</guid><dc:creator><![CDATA[opengl_noob]]></dc:creator><pubDate>Mon, 05 Nov 2007 14:46:54 GMT</pubDate></item><item><title><![CDATA[Reply to OOP Fragen on Mon, 05 Nov 2007 14:47:03 GMT]]></title><description><![CDATA[<p>opengl_noob schrieb:</p>
<blockquote>
<p>Hä? Bei mir geht das, wenn ich die Deklaration und Definition einer Methode in die Header-Datei und main in der cpp lasse, kompiliert er ohne Probs.</p>
</blockquote>
<p>Du beschreibst ja auch gerade die funktionierende Methode. Deklaration und Definition im Header (sprich: nicht getrennt).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1398083</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1398083</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Mon, 05 Nov 2007 14:47:03 GMT</pubDate></item><item><title><![CDATA[Reply to OOP Fragen on Mon, 05 Nov 2007 14:51:24 GMT]]></title><description><![CDATA[<p>opengl_noob schrieb:</p>
<blockquote>
<p>Hä? Bei mir geht das, wenn ich die Deklaration und Definition einer Methode in die Header-Datei und main in der cpp lasse, kompiliert er ohne Probs.</p>
</blockquote>
<p>Wenn die Definitionen direkt im Header stehen, werden sie ja auch nicht getrennt übersetzt <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="😉"
    /> Aber versuch' mal spaßeshalber, die Definitionen in eine eigene CPP auszulagern und dann zusammen mit der main.cpp zusammenzubringen - dein Linker wird sich bedanken.</p>
<p>Edit:</p>
<blockquote>
<p>Sry, versteh ich nicht. Was hat der Default-Konstruktor damit zu tun?</p>
</blockquote>
<p>Die Array-Elemente müssen ja mit irgendeinem Wert gefüllt werden - und da der Compiler dort nicht einfach irgendwelche Müll-Daten reinkippen kann (nicht-initialisierte Variablen sind schon in C unangehm - bei kompliziert aufgebauten Objekten endet sowas tödlich) und keine anderen Vorgaben bekommt, ruft er für jedes Array-Element den Default-Ctor auf.<br />
(wenn er keinen findet, wird das aber etwas schwierig)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1398085</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1398085</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 05 Nov 2007 14:51:24 GMT</pubDate></item><item><title><![CDATA[Reply to OOP Fragen on Mon, 05 Nov 2007 14:49:39 GMT]]></title><description><![CDATA[<blockquote>
<p>Falsch - es gibt durchaus Klassen, die sich nicht in ein Array pressen lassen <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>Beispiel, Beispiel, Beispiel???</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1398087</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1398087</guid><dc:creator><![CDATA[opengl_noob]]></dc:creator><pubDate>Mon, 05 Nov 2007 14:49:39 GMT</pubDate></item><item><title><![CDATA[Reply to OOP Fragen on Mon, 05 Nov 2007 14:56:33 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">class X {
public:
    X(float f);
};

X x[100]; // Peng
</code></pre>
<p>Wer die Meldung sehen möchte, möge das ganze schnell selbst durch einen Compiler jagen <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/1398094</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1398094</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Mon, 05 Nov 2007 14:56:33 GMT</pubDate></item><item><title><![CDATA[Reply to OOP Fragen on Mon, 05 Nov 2007 15:58:43 GMT]]></title><description><![CDATA[<p>Hier mal ein Beispiel.<br />
Heisst das, wenn ich die überladenen Definitionen der Methode f irgendwo anders als in cpp wo die Instanziierung des Templates stattfindet (main) reinklatsche, meckert der Compiler?</p>
<pre><code class="language-cpp">template &lt;class Typ&gt;
class T
{
public:
	Typ i;
	void f();
};

void T&lt;int&gt;::f()
{
	i=1;
	cout&lt;&lt;i;
}

void T&lt;float&gt;::f()
{
	i=1.5;
	cout&lt;&lt;i;
}

void main()
{
	T &lt;float&gt;t;
	t.f();

	getch();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1398149</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1398149</guid><dc:creator><![CDATA[opengl_noob]]></dc:creator><pubDate>Mon, 05 Nov 2007 15:58:43 GMT</pubDate></item><item><title><![CDATA[Reply to OOP Fragen on Mon, 05 Nov 2007 16:03:37 GMT]]></title><description><![CDATA[<blockquote>
<p>&quot;Gegeben seien die beiden Klassen A und B, wobei B von A abgeleitet sei (A ist Basisklasse). In beiden Klassen<br />
ist die virtuelle Funktion f1 definiert. Gegeben seien weiterhin folgende Definitionen:<br />
A a, *pa = &amp;a;<br />
B b, *pb = &amp;b;<br />
A *pab = new B;<br />
Geben Sie hinter jeder der folgenden Anweisungen an, ob A::f1 oder B::f1 aufgerufen wird, und ob späte Bindung erfolgt:<br />
a.f1(); //A::f1 frühe Bindung<br />
b.f1(); //B::f1 frühe Bindung<br />
pa-&gt;f1(); //A::f1 frühe Bindung ???<br />
pb-&gt;f1(); //B::f1 frühe Bindung ???<br />
pab-&gt;f1();//B::f1 späte Bindung&quot;</p>
<p>Bei den Fragezeichen. Die Zeiger pa und pb sind doch statisch, da sie auf vorkompilierte Objekte a und b verweisen. Ist das dann nicht frühe Bindung? Oder doch späte?</p>
</blockquote>
<p>Das müsste späte Bindung sein - schließlich kann der Compiler nicht feststellen, ob zwischen den Definitionen und den Aufrufen noch ein &quot;pa=pb;&quot; stattgefunden hat.[/quote]</p>
<p>Warum kann der Comiler das nicht feststellen? Die Zuweisung ist doch dann quasi auf dem Stack und steht zur Comile-Zeit fest.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1398153</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1398153</guid><dc:creator><![CDATA[opengl_noob]]></dc:creator><pubDate>Mon, 05 Nov 2007 16:03:37 GMT</pubDate></item><item><title><![CDATA[Reply to OOP Fragen on Tue, 06 Nov 2007 07:05:51 GMT]]></title><description><![CDATA[<p>In dem Fall ist das vielleicht noch machbar - im generellen Fall nicht mehr:</p>
<pre><code class="language-cpp">void foo(A*&amp; ob1, A* ob2);

int main()
{
  A a, *pa=&amp;a;
  B b, *pb=&amp;b;
  foo(pa,pb);//eine winzige Ergänzung - und schon weiß der Compiler nicht mehr, worauf pa nun zeigt
  pa-&gt;f();
}
</code></pre>
<p>Ansonsten: Bei den expliziten Instanziierungen hat der Compiler kein Problem - aber versuch mal, in der main() einen T&lt;double&gt; zu verwenden (dafür gibt es keine Spezialisierung und der Code der generellen Variante ist außer Reichweite).</p>
<p>PS: Es heißt übrigens immer noch &quot;<strong>int</strong> main()&quot;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1398409</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1398409</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 06 Nov 2007 07:05:51 GMT</pubDate></item><item><title><![CDATA[Reply to OOP Fragen on Tue, 06 Nov 2007 08:03:12 GMT]]></title><description><![CDATA[<p>opengl_noob schrieb:</p>
<blockquote>
<p>Hier mal ein Beispiel.<br />
Heisst das, wenn ich die überladenen Definitionen der Methode f ...</p>
</blockquote>
<p>Nur eine Kleinigkeit: In Deinem Beispiel findet keine <em>Überladung</em> statt sondern eine <em>Spezialisierung</em>. Das ist nicht dasselbe (für Ersteres gelten &quot;Überladungsmechanismen&quot; für Letzteres &quot;Template-Mechanismen&quot; ... die ziehen vorher).</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1398421</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1398421</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Tue, 06 Nov 2007 08:03:12 GMT</pubDate></item></channel></rss>