<?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[frage template?]]></title><description><![CDATA[<p>Hallo,</p>
<p>nehmen wir an, wir haben eine Klasse welche Elemente verwaltet, wobei die Elemente ein Objekt vom Typ T enthalten, udn einen extra Paramenter iExtPara.</p>
<pre><code class="language-cpp">template&lt;class T&gt;
class Master{

class Elem{

 int iExtPara;
 T DataObjekt;

};

std::list&lt;Elem&gt; data;

add(T &amp;Elem){...}

};
Master&lt;X&gt; o;
o.add(X(..));
</code></pre>
<p>wenn ich nun ein Objekt X als T eines Elemetes hinzufüge, gib es ne möglichkeit vom Objekt X aus auf das iExtPara zuzugreifen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/190997/frage-template</link><generator>RSS for Node</generator><lastBuildDate>Fri, 25 Sep 2026 20:53:28 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/190997.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 29 Aug 2007 04:45:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to frage template? on Wed, 29 Aug 2007 04:45:06 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>nehmen wir an, wir haben eine Klasse welche Elemente verwaltet, wobei die Elemente ein Objekt vom Typ T enthalten, udn einen extra Paramenter iExtPara.</p>
<pre><code class="language-cpp">template&lt;class T&gt;
class Master{

class Elem{

 int iExtPara;
 T DataObjekt;

};

std::list&lt;Elem&gt; data;

add(T &amp;Elem){...}

};
Master&lt;X&gt; o;
o.add(X(..));
</code></pre>
<p>wenn ich nun ein Objekt X als T eines Elemetes hinzufüge, gib es ne möglichkeit vom Objekt X aus auf das iExtPara zuzugreifen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1354261</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1354261</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Wed, 29 Aug 2007 04:45:06 GMT</pubDate></item><item><title><![CDATA[Reply to frage template? on Wed, 29 Aug 2007 06:38:48 GMT]]></title><description><![CDATA[<p>also bei mir gehts</p>
<pre><code class="language-cpp">#include &lt;list&gt;
#include &lt;iostream&gt;

using namespace std;

template&lt;class T&gt;
class Master
{
public:
	class Elem
	{
	public:
		Elem(int para, T data) : iextPara(para), DataObjekt(data) {};
		int iExtPara;
		T DataObjekt;
	};

	std::list&lt;Elem&gt; data;

	void add(Elem&amp; elem)
	{
		data.push_back(elem);
	}
}; 

int main(int argc, char* argv[])
{
	Master&lt;int&gt; val;

	val.add( Master&lt;int&gt;::Elem(5,4) );

	return 0;
}
</code></pre>
<p>ich musste bei Master::add nur Elem&amp; elem schreiben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1354279</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1354279</guid><dc:creator><![CDATA[Chris++ 0]]></dc:creator><pubDate>Wed, 29 Aug 2007 06:38:48 GMT</pubDate></item><item><title><![CDATA[Reply to frage template? on Wed, 29 Aug 2007 06:44:00 GMT]]></title><description><![CDATA[<p>Danke schonmal, aber ich meinte das ich jetzt wie heir im Beispiel von dem Sdata objekt aus, auf das enstsprechen iExtData variabel des Element wo das Sdata obejkt drin steckt zugreifen kann...</p>
<pre><code class="language-cpp">class Sdata{

  int a,b;

Sdata(int a, int b) : a(a), b(b){}

void func(){
 //Zugriff auf iExtData
}

};

Master&lt;Sdata&gt; val;

val.add( Master&lt;SData&gt;::Elem(5,SData(1,2)) );
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1354284</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1354284</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Wed, 29 Aug 2007 06:44:00 GMT</pubDate></item><item><title><![CDATA[Reply to frage template? on Wed, 29 Aug 2007 08:44:12 GMT]]></title><description><![CDATA[<p>hola</p>
<p>du koenntest der klasse Elem einen pointer auf iExtPara mitgeben.<br />
wenn man genau wuesste in welchem abstand im speicher iExtPara zum this-pointer deines template-members liegt, dann koenntest du dir die adresse auch ausrechnen.<br />
aber ich bezweifel mal das das so ohne weiteres moeglich ist.<br />
hoechstens wenn man das speicheralignment auf 1 byte setzen wuerde oder so aehnlich.</p>
<p>Meep Meep</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1354335</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1354335</guid><dc:creator><![CDATA[Meep Meep]]></dc:creator><pubDate>Wed, 29 Aug 2007 08:44:12 GMT</pubDate></item><item><title><![CDATA[Reply to frage template? on Wed, 29 Aug 2007 10:10:31 GMT]]></title><description><![CDATA[<p>in java kann die nested class soweit ich weiß ohne probleme auf member der &quot;super&quot;-klasse zugreifen. in c++ geht das meines erachtens nicht. korrigiert mich, wenn ich unrecht habe (Ausnhame: die nested klass hat nen pointer/referenz auf die übergeordnete klasse)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1354394</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1354394</guid><dc:creator><![CDATA[muffmolch]]></dc:creator><pubDate>Wed, 29 Aug 2007 10:10:31 GMT</pubDate></item></channel></rss>