<?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[Hilfe bei Klassendefinition]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>taste mich gerade an die Klassenprogrammierung unter C++ heran, komme aber irgendwie nicht weiter.</p>
<p>Vielleicht kann mir jemand folgendes Problem lösen, damit ich es als Anschauungsbeispiel nehmen kann.</p>
<p>Ich möchte eine Klasse matrix erstellen und auf folgende Art und Weise aufrufbar sein:</p>
<p>Beispiel:</p>
<p>matrix A(4,4) bzw. matrix A(5);</p>
<p>Dabei soll dann ein Array der Größe 4*4 bzw. 5*1 erstellt werden und auf den Namen A abgespeichert werden. Zudem soll die Klasse eine Funktion zur Sortierung enthalten, eine Funktion um das (Minimum bzw. das Maximum | Spaltenweise) zu finden.</p>
<p>Ich möchte nicht, dass ich eine komplette Lösung bekomme, sondern nur in etwa den Aufbau der Klasse. Verstehe nicht so richtig wie die Übergabe der Variablen etc. funktioniert. Das schreiben der Funktionen ist kein Problem. Das wäre schon eine große Hilfe...</p>
<p>Vielen Dank und Liebe Grüße</p>
<p>Theo</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/187660/hilfe-bei-klassendefinition</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 20:24:19 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/187660.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 22 Jul 2007 17:18:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Hilfe bei Klassendefinition on Sun, 22 Jul 2007 17:18:06 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>taste mich gerade an die Klassenprogrammierung unter C++ heran, komme aber irgendwie nicht weiter.</p>
<p>Vielleicht kann mir jemand folgendes Problem lösen, damit ich es als Anschauungsbeispiel nehmen kann.</p>
<p>Ich möchte eine Klasse matrix erstellen und auf folgende Art und Weise aufrufbar sein:</p>
<p>Beispiel:</p>
<p>matrix A(4,4) bzw. matrix A(5);</p>
<p>Dabei soll dann ein Array der Größe 4*4 bzw. 5*1 erstellt werden und auf den Namen A abgespeichert werden. Zudem soll die Klasse eine Funktion zur Sortierung enthalten, eine Funktion um das (Minimum bzw. das Maximum | Spaltenweise) zu finden.</p>
<p>Ich möchte nicht, dass ich eine komplette Lösung bekomme, sondern nur in etwa den Aufbau der Klasse. Verstehe nicht so richtig wie die Übergabe der Variablen etc. funktioniert. Das schreiben der Funktionen ist kein Problem. Das wäre schon eine große Hilfe...</p>
<p>Vielen Dank und Liebe Grüße</p>
<p>Theo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1330323</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1330323</guid><dc:creator><![CDATA[Theodor]]></dc:creator><pubDate>Sun, 22 Jul 2007 17:18:06 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Klassendefinition on Sun, 22 Jul 2007 17:46:50 GMT]]></title><description><![CDATA[<p>Nja ... also von welchem Typ soll der Array denn sein? Oder willst du mit Templates arbeiten?</p>
<p>Zu deinem Beispiel ... mach halt einen Konstruktor der die beiden Dimensionen haben will und geb beiden einen Defaultwert(1).</p>
<p>Max&amp;Min: <a href="http://www.cppreference.com/cppalgorithm/max_element.html" rel="nofollow">http://www.cppreference.com/cppalgorithm/max_element.html</a> bzw <a href="http://www.cppreference.com/cppalgorithm/min_element.html" rel="nofollow">http://www.cppreference.com/cppalgorithm/min_element.html</a></p>
<p>Sortieren ... welchen Algorithmus hättest de denn gerne? BubbleSort, QuickSort usw ... guck dich halt etwas um <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/1330336</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1330336</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Sun, 22 Jul 2007 17:46:50 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Klassendefinition on Sun, 22 Jul 2007 18:14:38 GMT]]></title><description><![CDATA[<p>Danke für deine Antwort,</p>
<p>aber wie gesagt die Programmierung ist kein Ding, mir geht es ausschließlich darum, dass ich die ganze Klassenthematik nicht so ganz verstehe...</p>
<p>Viele Fehler aber so in etwa...</p>
<pre><code class="language-cpp">class matrix {
              char* s;
              double minimum,maximum;
              public:
              double min();
              double max();
              double quicksort(); 
              matrix(const int* anzzeilen,const int* anzspalten)
              {???=new double[anzzeilen][anzspalten];
               return ???;};
              matrix(const int* anzzeilen)
              {???=new double[anzzeilen];
               return ???;};
              };

double matrix::min()
{
 ...
 return 'minimum';
}

double matrix::max() 
{
 ...
 return 'maximum';
}

double quicksort()
{
 ...
 return 'sortiertesarray'
}
</code></pre>
<p>Wahrscheinlich ist das völliger Schrott was hier steht.</p>
<p>Mir geht es nur darum, wie ich definieren kann, dass die Klasse &quot;matrix&quot; folgendermaßen aufgerufen werden kann:</p>
<p>matrix A(4)...Es ein Array erstellt der Dimension 4x1 mit dem Namen 'A' usw...<br />
Wie kann ich dann z.B. A[0] einen Wert zuweisen?<br />
A.min bzw. A.max sollen das Minimum über dem ganzen Array bzw. das Maximum zurückgeben.<br />
A.quicksort() soll das Array sortieren. Wie übergebe ich denn, wenn ich A.quicksort() aufrufe das Array 'A' das zu sortieren ist.</p>
<p>Das genau sind meine Probleme...Heiei...der Klassenaufbau</p>
<p>Liebe Grüße</p>
<p>Theo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1330347</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1330347</guid><dc:creator><![CDATA[Theodor]]></dc:creator><pubDate>Sun, 22 Jul 2007 18:14:38 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Klassendefinition on Sun, 22 Jul 2007 23:32:38 GMT]]></title><description><![CDATA[<p>Erstmal sortiere ich die Klasse ein wenig, nur damit ich durchblicke... <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>
<pre><code class="language-cpp">class matrix
{
    char* s;
    double minimum,maximum;

public:
    double min();
    double max();
    double quicksort();

    matrix( int anzzeilen, int anzspalten)
    {
        ???=new double[anzzeilen][anzspalten];
        return ???;
    }

    matrix( int anzzeilen )
    {
        ???=new double[anzzeilen];
        return ???;};
    }
};
</code></pre>
<p><strong>matrix A(4)</strong><br />
Das ist ziemlich einfach. Du sagst mit der Zeile ja, dass du ein Objekt vom Typ &quot;Matrix&quot; willst. Zusätzlich übergibst du der Matrix noch einen Start-Wert, hier die '4'.<br />
Die Startwerte bekommst du, wie du's ja schon hast, im Konstruktor der Klasse. Wieso du da aber <em>Zeiger auf einen Zahlenwert</em> übergeben willst, ist mir schleierhaft. Wie dem auch sei, das &quot;const int*&quot; aus dem Konstruktor kannst du getrost durch &quot;int&quot; austauschen, schließlich willst du keinen Zeiger auf eine Zahl, die du nicht verändern darfst, sondern einfach nur eine Zahl <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Für den Rest lege ich dir der Einfachheit halber (will mir keinen Wolf schreiben ;)) mal Google mit dem Stichwort &quot;C++ Tutorial&quot; ans Herz. Dir fehlen ganz einfach die Grundlagen, welche du (meiner Meinung nach) <em>vor</em> dem Klassen-Konzept lernen solltest. Du solltest zumindest wissen, was ein Zeiger ist, was Zeichenketten sind usw.<br />
Lass dich aber nicht entmutigen, es kommt der Tag an dem dein erster selbstgeschriebener Source kompiliert! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1330452</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1330452</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Sun, 22 Jul 2007 23:32:38 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Klassendefinition on Mon, 23 Jul 2007 10:37:54 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">template &lt;typename T&gt;
class matrix
{
public:
	matrix(std::size_t row = 1, std::size_t col = 1) : m_row(row), m_col(col)
	{
		m_data = new T*[row];
		for (std::size_t cur = 0; cur &lt; row; ++cur)
			m_data[cur] = new T[col];
	}

	~matrix()
	{
		for (std::size_t cur = 0; cur &lt; m_row; ++cur)
			delete [] m_data[cur]; 
		delete [] m_data;
	}

public:
	T const &amp;	at(std::size_t row, std::size_t col) const { if (row &gt; m_row || col &gt; m_col) throw std::out_of_range(&quot;col or row&quot;); return m_data[row][col]; }
	T const &amp;	min() const {	T const &amp; min; for (std::size_t row = 0; row &lt; m_row; ++row) for (std::size_t col = 0; col &lt; m_col; ++col)	min = std::min(m_data[row][col], min); return min; }
	T const &amp;	max() const {	T const &amp; max; for (std::size_t row = 0; row &lt; m_row; ++row) for (std::size_t col = 0; col &lt; m_col; ++col)	max = std::max(m_data[row][col], max); return max; }

private:
	T**			m_data;
	std::size_t m_row;
	std::size_t m_col;
};
</code></pre>
<p>...</p>
<p>sind nen paar const usw. zu viel drin und kann sein das ich col und row vertauscht hab <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> an sonnsten ... so wird's gemacht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1330715</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1330715</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Mon, 23 Jul 2007 10:37:54 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Klassendefinition on Mon, 23 Jul 2007 10:44:31 GMT]]></title><description><![CDATA[<p>Bleibt nur eine Frage: Warum nicht <em>template&lt;typename T,size_t rows,size_t cols&gt;</em>? <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="🙂"
    /><br />
Ansonsten schöne Klasse und ich denke Theodor wird sie auf Anhieb verstehen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Und noch eine Frage meinerseits: Macht es eigentlich einen Unterschied ob man <em>template&lt;typename T&gt;</em> oder <em>template&lt;class T&gt;</em> verwendet?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1330726</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1330726</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Mon, 23 Jul 2007 10:44:31 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Klassendefinition on Mon, 23 Jul 2007 10:57:13 GMT]]></title><description><![CDATA[<p>template &lt;typename T&gt; oder template &lt;class T&gt; macht keinen Unterschied. Das konstrukt mit typename(im gegensatz zu class) suggeriert dem Benutzer, dass auch primitive datentypen benutzt werden können.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1330732</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1330732</guid><dc:creator><![CDATA[megaweber]]></dc:creator><pubDate>Mon, 23 Jul 2007 10:57:13 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Klassendefinition on Mon, 23 Jul 2007 11:29:25 GMT]]></title><description><![CDATA[<p>Badestrand schrieb:</p>
<blockquote>
<p>Bleibt nur eine Frage: Warum nicht <em>template&lt;typename T,size_t rows,size_t cols&gt;</em>? ...</p>
</blockquote>
<p>Kommt drauf an, was man will: Mit rows/cols als template-Parameter kann man direkt ein statisches Array verwenden ... aber die Größe eben auch nicht mehr zur Laufzeit ändern.<br />
Außerdem haben unterschiedlich dimensionierte Matrizen dann auch unterschiedliche (= inkompatible) Typen ... kann gewollt sein, muss aber nicht.</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1330756</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1330756</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Mon, 23 Jul 2007 11:29:25 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Klassendefinition on Mon, 23 Jul 2007 11:32:42 GMT]]></title><description><![CDATA[<p>megaweber schrieb:</p>
<blockquote>
<p>template &lt;typename T&gt; oder template &lt;class T&gt; macht keinen Unterschied. Das konstrukt mit typename(im gegensatz zu class) suggeriert dem Benutzer, dass auch primitive datentypen benutzt werden können.</p>
</blockquote>
<p>ich sehs eigentlich genau andersrum: &quot;class&quot; suggeriert, dass auch klassen verwendet dürfen. im gegensatz zu typename, welches andeutet, dass die methode für primitive typen gedacht ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1330760</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1330760</guid><dc:creator><![CDATA[thordk]]></dc:creator><pubDate>Mon, 23 Jul 2007 11:32:42 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Klassendefinition on Mon, 23 Jul 2007 11:45:05 GMT]]></title><description><![CDATA[<p>thordk schrieb:</p>
<blockquote>
<p>ich sehs eigentlich genau andersrum: &quot;class&quot; suggeriert, dass auch klassen verwendet dürfen. im gegensatz zu typename, welches andeutet, dass die methode für primitive typen gedacht ist.</p>
</blockquote>
<p>Dies ist aber eine unübliche Betrachtungsweise (zumal typename auch an anderen Stellen als im Templatekopf verwendet wird, und es dort auch Klassen als Möglichkeit gibt).</p>
<p>Um grade Anfänger nicht durcheinander zu bringen wäre es besser sich an die Definitionen anzulehnen, die man auch so in vielen Fachbüchern findet:</p>
<p>class : Nur Klassentypen<br />
typename : Klassentypen + primitive Typen</p>
<p>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1330771</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1330771</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Mon, 23 Jul 2007 11:45:05 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Klassendefinition on Mon, 23 Jul 2007 13:32:34 GMT]]></title><description><![CDATA[<p>Hmm ... ich wusste doch das zu viele const in der Klasse sind ... also bei at müssen 2 raus <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="😉"
    /> Sonnst kannst du die werte nie ändern <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=":/"
      alt="😕"
    /></p>
<pre><code class="language-cpp">namespace math
{
	template &lt;typename T&gt;
	class matrix
	{
	public:
		matrix(std::size_t row = 1, std::size_t col = 1) : m_row(row), m_col(col)
		{
			m_data = new T*[row];
			for (std::size_t cur = 0; cur &lt; row; ++cur)	m_data[cur] = new T[col];
		}

		~matrix()
		{
			for (std::size_t cur = 0; cur &lt; m_row; ++cur) delete [] m_data[cur]; 
			delete [] m_data;
		}

	public:
		T&amp;			at(std::size_t row, std::size_t col) { if (row &gt; m_row || col &gt; m_col) throw std::out_of_range(&quot;col or row&quot;); return m_data[row][col]; }
		T const &amp;	min() const		{	T const &amp; min; for (std::size_t row = 0; row &lt; m_row; ++row) for (std::size_t col = 0; col &lt; m_col; ++col)	min = std::min(m_data[row][col], min); return min; }
		T const &amp;	max() const		{	T const &amp; max; for (std::size_t row = 0; row &lt; m_row; ++row) for (std::size_t col = 0; col &lt; m_col; ++col)	max = std::max(m_data[row][col], max); return max; }
		std::size_t	size() const	{ return (m_row * m_col); }

	private:
		T**				m_data;
		std::size_t		m_row;
		std::size_t		m_col;
	};
};

int main()
{
	math::matrix&lt;double&gt; mat(4, 4);
	mat.at(1, 1) = mat.size();
}
</code></pre>
<p><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="🙂"
    /> so bin ich zufrieden ... hatte auch an ne clear-Methode gedacht ... aber ich kann ja nicht davon ausgehen das ich einer normalen Klasse 0 zuweisen kann <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="😉"
    /> Könnte aber auch hingehen und alles einmal löschen und dann neu anlegen ... also man kann nochn paar sachen implementieren ...</p>
<p>Aja zur Suche: Wie willst de es denn sortiert haben? Soll jede Zeile für sich sortiert sein oder alles zusammen?(was nicht geht ...)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1330849</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1330849</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Mon, 23 Jul 2007 13:32:34 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Klassendefinition on Mon, 23 Jul 2007 13:45:48 GMT]]></title><description><![CDATA[<p>So ... jetzt können wir auch noch resizen ... und zu beachten: operator () wirft natürlich keine exception ... at aber schon ... so wie std::vector udg. auch.</p>
<pre><code class="language-cpp">#include &lt;algorithm&gt;

namespace math
{
	template &lt;typename T&gt;
	class matrix
	{
	public:
		matrix(std::size_t row = 1, std::size_t col = 1) : m_row(row), m_col(col)
		{
			m_data = new T*[row];
			for (std::size_t cur = 0; cur &lt; row; ++cur)	m_data[cur] = new T[col];
		}

		~matrix()
		{
			for (std::size_t cur = 0; cur &lt; m_row; ++cur) delete [] m_data[cur]; 
			delete [] m_data;
		}

		T&amp; operator ()(std::size_t row, std::size_t col)		{ return m_data[row][col]; }

	public:
		T&amp;			at(std::size_t row, std::size_t col)	{ if (row &gt; m_row || col &gt; m_col) throw std::out_of_range(&quot;col or row&quot;); return m_data[row][col]; }
		T const &amp;	min() const		{	T const &amp; min; for (std::size_t row = 0; row &lt; m_row; ++row) for (std::size_t col = 0; col &lt; m_col; ++col)	min = std::min(m_data[row][col], min); return min; }
		T const &amp;	max() const		{	T const &amp; max; for (std::size_t row = 0; row &lt; m_row; ++row) for (std::size_t col = 0; col &lt; m_col; ++col)	max = std::max(m_data[row][col], max); return max; }
		std::size_t	size() const	{ return (m_row * m_col); }
		void		resize(std::size_t row, std::size_t col)
		{
			T** tmp_data = new T*[row];
			for (std::size_t cur_row = 0; cur_row &lt; row; ++cur_row)
			{
				tmp_data[cur_row] = new T[col];
				for (std::size_t cur_col = 0; cur_col &lt; col; ++cur_col)	if (cur_col &lt; m_col &amp;&amp; m_row &gt; cur_row)	tmp_data[cur_row][cur_col] = m_data[cur_row][cur_col];
			}
			for (std::size_t cur = 0; cur &lt; m_row; ++cur) delete [] m_data[cur]; 
			delete [] m_data;
			m_data = tmp_data;	m_row = row; m_col = col;
		}

	private:
		T**				m_data;
		std::size_t		m_row;
		std::size_t		m_col;
	};
};

double test()
{
	math::matrix&lt;double&gt; mat(4, 4);
	mat.at(1, 1) = mat.size();
	mat.resize(6,6);
	mat(5, 1) = 1;
	return mat.at(5, 1);
}
</code></pre>
<p>...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1330860</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1330860</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Mon, 23 Jul 2007 13:45:48 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Klassendefinition on Mon, 23 Jul 2007 13:48:31 GMT]]></title><description><![CDATA[<p>aja ... wer auf die Standardbibliothek verzichten will ... muss nur kurz</p>
<pre><code class="language-cpp">namespace math
{
    template &lt;typename T&gt;
    T&amp; min(T const&amp; a, T const&amp; b) { return (a &gt; b ? b : a); }
    template &lt;typename T&gt;
    T&amp; max(T const&amp; a, T const&amp; b) { return (a &gt; b ? a : b); }
};
</code></pre>
<p>am Anfang schreiben und aus std::max bzw std::min einfach math::min bzw math::max machen <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/1330862</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1330862</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Mon, 23 Jul 2007 13:48:31 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Klassendefinition on Mon, 23 Jul 2007 15:51:53 GMT]]></title><description><![CDATA[<p>Hier noch was <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>
<pre><code class="language-cpp">namespace math
{
	template &lt;typename T&gt;
	void bubble_sort(T*&amp; arr, std::size_t size)
	{
		bool redo = false;
		do {
			redo = false;
			for (std::size_t i = 0; (i &lt; (size - 1) &amp;&amp; arr[i] != NULL &amp;&amp; arr[i+1] != NULL); ++i)
				if (arr[i] &gt; arr[i + 1])		{ std::swap&lt;T&gt;(arr[i], arr[i + 1]); redo = true; }
		} while (redo == true);	
	}
};
</code></pre>
<p>=&gt;</p>
<pre><code class="language-cpp">class matrix
{
// ...
	void sort() { for (std::size_t cur_row = 0; cur_row &lt; m_row; ++cur_row) bubble_sort&lt;T&gt;(m_data[cur_row], m_col); }
// ...
};
</code></pre>
<p><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/1330947</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1330947</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Mon, 23 Jul 2007 15:51:53 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Klassendefinition on Mon, 23 Jul 2007 18:13:20 GMT]]></title><description><![CDATA[<p>(D)Evil schrieb:</p>
<blockquote>
<p>So ... jetzt können wir auch noch resizen ... und zu beachten: operator () wirft natürlich keine exception ... at aber schon ... so wie std::vector udg. auch.</p>
</blockquote>
<p>Jetzt hast du dich ja richtig ausgetobt. Ich finde die Klasse gut, aber wieso wirft der operator() keine exception? Das macht aus meiner Sicht keinen Sinn.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1331045</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1331045</guid><dc:creator><![CDATA[Chris++ 0]]></dc:creator><pubDate>Mon, 23 Jul 2007 18:13:20 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Klassendefinition on Mon, 23 Jul 2007 18:35:54 GMT]]></title><description><![CDATA[<p>hmm ... nja wollte eigentlich nen [][] operator implementieren ... aber das ist ja nicht so ohne weiteres möglich ... deswegen hab ich dne operator () genommen ...[] wirft auch keine exceptions in der std. lib <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="😉"
    /> nja ist eigentlich nicht sooo sinvoll <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> aber egal ... mir ist gerade auch eingefallen das der operator [][] garnicht sooo das problem wäre ... aber egal ^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1331068</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1331068</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Mon, 23 Jul 2007 18:35:54 GMT</pubDate></item></channel></rss>