<?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[dynamische initialisieung von klassen ?]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe folgendes Problem:<br />
Ich habe 2 Klassen programmiert (Matrizen und qMatrizen (für quadratische Matrizen) ) !<br />
Die Klasse qMatrizen erbt alle (public) Funktionen der Klasse Matrizen und hat noch weitere Funktionen.<br />
Das Problem ist jetzt, dass ich eine dynamische Initialisierung brauche:</p>
<p>Die Matrizen &quot;A&quot; bzw. &quot;B&quot; sollen endweder als qMatrizen oder als (einfache) Matrizen initialisiert werden.<br />
Natürlich könnte ich beide als qMatrizen initialisieren, aber dann wäre die Vererbung sinnlos und ich bräuchte nur eine Klasse zu definieren, was das Thema verfehlt.</p>
<p>Dieser Code funktioniert nicht... Mit &quot;extern&quot; komme ich auch nicht weiter</p>
<pre><code>[...]
if(Zeilen==Spalten)
	{
		qMatrizen A(Zeilen);
	}
	else
	{
		Matrizen A(Zeilen,Spalten);
	}

	[...]

	if(Zeilen==Spalten)
	{
		qMatrizen B(Zeilen);
	}
	else
	{
		Matrizen B(Zeilen,Spalten);
	}
</code></pre>
<p>(edit: Konstruktoren sind für beide Klassen korrekt !)</p>
<p>Gibt es eine Möglichkeit globale Variablen oder Klassen IN EINEM BLOCK zu definieren.</p>
<p>Ich danke schon im Voraus für eure Antworten !<br />
P.S.: Bin ein NOOB, was C++ angeht, also seid bitte nicht so hart !</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/235055/dynamische-initialisieung-von-klassen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 07:24:06 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/235055.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 25 Feb 2009 08:55:33 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to dynamische initialisieung von klassen ? on Wed, 25 Feb 2009 08:57:14 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe folgendes Problem:<br />
Ich habe 2 Klassen programmiert (Matrizen und qMatrizen (für quadratische Matrizen) ) !<br />
Die Klasse qMatrizen erbt alle (public) Funktionen der Klasse Matrizen und hat noch weitere Funktionen.<br />
Das Problem ist jetzt, dass ich eine dynamische Initialisierung brauche:</p>
<p>Die Matrizen &quot;A&quot; bzw. &quot;B&quot; sollen endweder als qMatrizen oder als (einfache) Matrizen initialisiert werden.<br />
Natürlich könnte ich beide als qMatrizen initialisieren, aber dann wäre die Vererbung sinnlos und ich bräuchte nur eine Klasse zu definieren, was das Thema verfehlt.</p>
<p>Dieser Code funktioniert nicht... Mit &quot;extern&quot; komme ich auch nicht weiter</p>
<pre><code>[...]
if(Zeilen==Spalten)
	{
		qMatrizen A(Zeilen);
	}
	else
	{
		Matrizen A(Zeilen,Spalten);
	}

	[...]

	if(Zeilen==Spalten)
	{
		qMatrizen B(Zeilen);
	}
	else
	{
		Matrizen B(Zeilen,Spalten);
	}
</code></pre>
<p>(edit: Konstruktoren sind für beide Klassen korrekt !)</p>
<p>Gibt es eine Möglichkeit globale Variablen oder Klassen IN EINEM BLOCK zu definieren.</p>
<p>Ich danke schon im Voraus für eure Antworten !<br />
P.S.: Bin ein NOOB, was C++ angeht, also seid bitte nicht so hart !</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1669794</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1669794</guid><dc:creator><![CDATA[Katpop]]></dc:creator><pubDate>Wed, 25 Feb 2009 08:57:14 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische initialisieung von klassen ? on Wed, 25 Feb 2009 09:23:01 GMT]]></title><description><![CDATA[<p>Warum machst Du dafür zwei Klassen? Es reicht doch eine mit 2 Konstruktoren!</p>
<pre><code>class Matrix
{
  int zeilen_;
  int spalten_;
public:
  Matrix(int m) : zeilen_(m), spalten_(m) {} // quadratisch
  Matrix(int m, int n) : zeilen_(m), spalten_(n) {}

  bool IstQuadratisch() {return zeilen_ == spalten_;}
}
</code></pre>
<p>Und sollte das nicht passen, weil sich Methoden für quadratische und nicht-quadratische Matrizen unterscheiden (sollen/müssen), dann würde ich die quadratische von der nicht-quadratischen Matrixklasse ableiten und mit virtuellen Methoden arbeiten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1669803</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1669803</guid><dc:creator><![CDATA[jencas]]></dc:creator><pubDate>Wed, 25 Feb 2009 09:23:01 GMT</pubDate></item><item><title><![CDATA[Reply to dynamische initialisieung von klassen ? on Wed, 25 Feb 2009 09:26:18 GMT]]></title><description><![CDATA[<p>... weil ich &quot;unbedingt&quot; vererben will/muss ! Vielen Dank für Deine Antwort !</p>
<p>die Matrizen, die nicht quadratisch sind sollen weniger Funktionen haben, als die quadr. Matrizen.</p>
<p>Ich habe jetzt einfach einfach im main 4 Klassen deklariert und für beide Matrizen eine weitere Variable angelegt. &quot;bool isAq; bool isBq;&quot;<br />
Das kostet zwar unnötigen Quelltext, damit funktioniert es aber.</p>
<p>Würde mich trotzdem freuen, falls mir jemand eine elegantere Lösung verrät.</p>
<p>edit:<br />
das ist genau das gleiche nur in der Klasse.<br />
Danke für deine Antwort.<br />
--&gt; Erledigt !</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1669807</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1669807</guid><dc:creator><![CDATA[Katpop]]></dc:creator><pubDate>Wed, 25 Feb 2009 09:26:18 GMT</pubDate></item></channel></rss>