<?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[Templates]]></title><description><![CDATA[<p>Hallo Experten...<br />
büffel gerade für eine C++ Klausur und brauche eure Hilfe.<br />
Folgende Aufgabenstellung in einer Übungsklausur:<br />
Gegeben ist die folgende Klassendefinition eines dynamischen Arrays für Zahlen:</p>
<p>class intlist<br />
{<br />
public:<br />
int getcount (void);<br />
void init();<br />
int additem (int );<br />
int getitem(int );<br />
private:<br />
int count;<br />
int *ilist;<br />
};</p>
<p>Schreiben Sie die Klassendefinition als Klassenvorlage so um, dass auch andere Variablentypen (z.B. insbesondere float) verarbeitet werden können. Verwenden Sie das Token T.</p>
<p>Meine Lösung:</p>
<p>template&lt;class T&gt;<br />
class list<br />
{<br />
public:<br />
int getcount(void);<br />
void init();<br />
int additem(T&amp;);<br />
int getitem(T&amp;);<br />
private:<br />
int count;<br />
int *ilist;<br />
};</p>
<p>Habe leider keine Lösung zu der Aufgabe und bin mir nicht sicher, dass meine Ergebnis richtig ist. Wäre euch für eure Hilfe sehr dankbar.<br />
Gruß mila10</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/193079/templates</link><generator>RSS for Node</generator><lastBuildDate>Sun, 27 Sep 2026 19:48:24 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/193079.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 21 Sep 2007 17:18:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Templates on Fri, 21 Sep 2007 17:18:15 GMT]]></title><description><![CDATA[<p>Hallo Experten...<br />
büffel gerade für eine C++ Klausur und brauche eure Hilfe.<br />
Folgende Aufgabenstellung in einer Übungsklausur:<br />
Gegeben ist die folgende Klassendefinition eines dynamischen Arrays für Zahlen:</p>
<p>class intlist<br />
{<br />
public:<br />
int getcount (void);<br />
void init();<br />
int additem (int );<br />
int getitem(int );<br />
private:<br />
int count;<br />
int *ilist;<br />
};</p>
<p>Schreiben Sie die Klassendefinition als Klassenvorlage so um, dass auch andere Variablentypen (z.B. insbesondere float) verarbeitet werden können. Verwenden Sie das Token T.</p>
<p>Meine Lösung:</p>
<p>template&lt;class T&gt;<br />
class list<br />
{<br />
public:<br />
int getcount(void);<br />
void init();<br />
int additem(T&amp;);<br />
int getitem(T&amp;);<br />
private:<br />
int count;<br />
int *ilist;<br />
};</p>
<p>Habe leider keine Lösung zu der Aufgabe und bin mir nicht sicher, dass meine Ergebnis richtig ist. Wäre euch für eure Hilfe sehr dankbar.<br />
Gruß mila10</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1370273</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1370273</guid><dc:creator><![CDATA[mila10]]></dc:creator><pubDate>Fri, 21 Sep 2007 17:18:15 GMT</pubDate></item><item><title><![CDATA[Reply to Templates on Fri, 21 Sep 2007 17:58:25 GMT]]></title><description><![CDATA[<p>wenn int getitem(int) die zahl an der übergebenen stelle zurückgeben soll, dann sollte wahrscheinlich der index immer vom typ int sein und der rückgabe wert nicht. und noch einiges andere sollte auch anders sein. überleg dir mal was mit was gemacht wird</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1370294</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1370294</guid><dc:creator><![CDATA[rtur]]></dc:creator><pubDate>Fri, 21 Sep 2007 17:58:25 GMT</pubDate></item><item><title><![CDATA[Reply to Templates on Fri, 21 Sep 2007 18:00:31 GMT]]></title><description><![CDATA[<p><em>Fast</em> richtig <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="😉"
    /> Dein int-Zeiger muss natürlich auch auf Objekte des Typs T zeigen!</p>
<p>oh da war jemand schneller...</p>
<p>Irgendwie finde ich das ziemlich merkwürdig. Das passiert so oft! Die Frage stand 40 Minuten im Raum und rtur und ich schreiben fast gleichzeitig eine Antwort. Komisch <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=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1370296</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1370296</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Fri, 21 Sep 2007 18:00:31 GMT</pubDate></item><item><title><![CDATA[Reply to Templates on Fri, 21 Sep 2007 18:09:23 GMT]]></title><description><![CDATA[<p>Besser?</p>
<p>template&lt;class T&gt;<br />
class list<br />
{<br />
public:<br />
int getcount(void);<br />
void init();<br />
int additem(T&amp;);<br />
T&amp; getitem(int);<br />
private:<br />
int count;<br />
T *ilist;<br />
};</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1370301</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1370301</guid><dc:creator><![CDATA[mila10]]></dc:creator><pubDate>Fri, 21 Sep 2007 18:09:23 GMT</pubDate></item><item><title><![CDATA[Reply to Templates on Fri, 21 Sep 2007 18:12:10 GMT]]></title><description><![CDATA[<p>Wenn getitem einen int-Index erwartet und ich nix übersehen hab, stimmts jetzt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /><br />
Das nächste mal aber bitte cpp-Tags verwenden:</p>
<pre><code class="language-cpp">bla bla
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1370303</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1370303</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Fri, 21 Sep 2007 18:12:10 GMT</pubDate></item><item><title><![CDATA[Reply to Templates on Fri, 21 Sep 2007 18:18:02 GMT]]></title><description><![CDATA[<p>Geht klar...<br />
Danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1370306</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1370306</guid><dc:creator><![CDATA[mila10]]></dc:creator><pubDate>Fri, 21 Sep 2007 18:18:02 GMT</pubDate></item><item><title><![CDATA[Reply to Templates on Fri, 21 Sep 2007 19:00:35 GMT]]></title><description><![CDATA[<p>öhm irgendwie vermisse ich hier Destruktor, Copykonstruktor und die Überladung des =-Operators (ich gehe mal stark davon aus, dass du die brauchst für dein T * ilist) und statt der getitem-Methode wäre außerdem eine (zusätzliche) Überladung des []-Operators hübscher <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/1370324</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1370324</guid><dc:creator><![CDATA[Checker*amp*Murckser]]></dc:creator><pubDate>Fri, 21 Sep 2007 19:00:35 GMT</pubDate></item><item><title><![CDATA[Reply to Templates on Fri, 21 Sep 2007 20:44:54 GMT]]></title><description><![CDATA[<p>Checker&amp;Murckser schrieb:</p>
<blockquote>
<p>öhm irgendwie vermisse ich hier Destruktor, Copykonstruktor und die Überladung des =-Operators (ich gehe mal stark davon aus, dass du die brauchst für dein T * ilist) und statt der getitem-Methode wäre außerdem eine (zusätzliche) Überladung des []-Operators hübscher <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>Das war aber nicht in der Aufgabe gefordert wenn ich richtig sehe. Recht hast du natürlich, aber ich glaube wir sollten niemanden fürs erste Überfordern <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>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1370370</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1370370</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Fri, 21 Sep 2007 20:44:54 GMT</pubDate></item><item><title><![CDATA[Reply to Templates on Sun, 23 Sep 2007 09:37:30 GMT]]></title><description><![CDATA[<p>Hmm mal nen paar Tips dran geschrieben:</p>
<pre><code class="language-cpp">template&lt;class T&gt;
class dynamic_array			// list passt nicht ganz. 
							// Eine list hat in der Informatik eine
							// etwas andere Bedeutung.
{
public:
	dynamic_array();		// Anstelle von void init.
	~dynamic_array();		// m_data muss wieder freigegeben 
					// werden!
public:
	// - std::size_t weil es der Datentyp des Standards für Größen ist.
	// - const, da du nichts am Objekt veränderst
	// - inline, da du nur eine Variable zurückgibst.
	std::size_t	size() const { return m_size; } 

public:
	// - push_back um es Leuten, die mit dem Standardarbeiten leichter
	//	 zu machen. Vgl. std::vector
	// - std::size_t, da der Index niemals negativ ist.
	// - T const&amp;, da man mit Kopien arbeitet, damit der Aufrufer sich
	//   nicht darum kümmern muss ob das hinzugefügte Objekt noch gültig
	//	 ist.
	std::size_t push_back(T const&amp;); 
	// - at um es Leuten, die mit dem Standardarbeiten leichter
	//	 zu machen. Vgl. std::vector
	// - eine const und eine nicht const Version um übergabe einer const 
	//   Ref. usw. möglich zu machen. 
	// - Bei out_of_range Exception werfen!
	T&amp; at(std::size_t);	
	T const&amp; at(std::size_t) const;
	// - Einen Index-Operator um einfachen Zugriff wie bei normalen Array
	//	 zu ermöglichen.
	// - Ebenfalls const. Version und nicht-const. Version.
	// - KEINE out_of_range Exception werfen! (vgl. std::vector)
	T&amp; operator[](std::size_t); 
	T const&amp; operator[](std::size_t) const; 

private:
	std::size_t m_size;	// std::size_t, da die Größe nicht negativ sein kann.
	T*			m_data;
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1370944</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1370944</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Sun, 23 Sep 2007 09:37:30 GMT</pubDate></item><item><title><![CDATA[Reply to Templates on Sun, 23 Sep 2007 09:39:44 GMT]]></title><description><![CDATA[<p>Der Link in deiner Signatur geht nicht</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1370945</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1370945</guid><dc:creator><![CDATA[@(D)Evil]]></dc:creator><pubDate>Sun, 23 Sep 2007 09:39:44 GMT</pubDate></item><item><title><![CDATA[Reply to Templates on Sun, 23 Sep 2007 09:44:27 GMT]]></title><description><![CDATA[<p>Der obere? Ja ich weiß ... hab den Server vor nicht allzu langer Zeit vom Netz genommen. Werde die Seite noch umlegen auf einen anderen Server ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1370953</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1370953</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Sun, 23 Sep 2007 09:44:27 GMT</pubDate></item><item><title><![CDATA[Reply to Templates on Sun, 23 Sep 2007 11:48:52 GMT]]></title><description><![CDATA[<p>Nein der untere. Es gibt kein &quot;/new&quot;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1370992</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1370992</guid><dc:creator><![CDATA[@(D)Evil]]></dc:creator><pubDate>Sun, 23 Sep 2007 11:48:52 GMT</pubDate></item><item><title><![CDATA[Reply to Templates on Sun, 23 Sep 2007 12:01:10 GMT]]></title><description><![CDATA[<p>Ok hast recht ^^ Ist etwas alt ^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1370996</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1370996</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Sun, 23 Sep 2007 12:01:10 GMT</pubDate></item></channel></rss>