<?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[Basisklasseninstanz &amp;quot;verbieten&amp;quot; &amp;amp; mehrdimensionale Arrays mit new]]></title><description><![CDATA[<p><strong>1.)</strong> Wie kann ich dafür sorgen, dass von meiner &quot;normalen&quot; Basisklasse <strong>keine</strong> Instanz erstellt werden kann?</p>
<p><strong>2.)</strong> Ist es möglich mit <strong>new</strong> ein 2- oder mehrdimensionales Array zu erstellen? Und wenn ja. Wie?</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/220528/basisklasseninstanz-quot-verbieten-quot-amp-mehrdimensionale-arrays-mit-new</link><generator>RSS for Node</generator><lastBuildDate>Wed, 07 Oct 2026 00:09:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/220528.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 17 Aug 2008 15:26:14 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Basisklasseninstanz &amp;quot;verbieten&amp;quot; &amp;amp; mehrdimensionale Arrays mit new on Sun, 17 Aug 2008 15:26:14 GMT]]></title><description><![CDATA[<p><strong>1.)</strong> Wie kann ich dafür sorgen, dass von meiner &quot;normalen&quot; Basisklasse <strong>keine</strong> Instanz erstellt werden kann?</p>
<p><strong>2.)</strong> Ist es möglich mit <strong>new</strong> ein 2- oder mehrdimensionales Array zu erstellen? Und wenn ja. Wie?</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1566447</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1566447</guid><dc:creator><![CDATA[Programmierer]]></dc:creator><pubDate>Sun, 17 Aug 2008 15:26:14 GMT</pubDate></item><item><title><![CDATA[Reply to Basisklasseninstanz &amp;quot;verbieten&amp;quot; &amp;amp; mehrdimensionale Arrays mit new on Sun, 17 Aug 2008 15:28:22 GMT]]></title><description><![CDATA[<p>zu 1: lass eine funktion pure virtual.<br />
zu 2: nicht direkt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1566448</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1566448</guid><dc:creator><![CDATA[ghorst]]></dc:creator><pubDate>Sun, 17 Aug 2008 15:28:22 GMT</pubDate></item><item><title><![CDATA[Reply to Basisklasseninstanz &amp;quot;verbieten&amp;quot; &amp;amp; mehrdimensionale Arrays mit new on Sun, 17 Aug 2008 15:31:22 GMT]]></title><description><![CDATA[<p>Zu deiner ersten Frage, das geht am einfachsten so:</p>
<pre><code class="language-cpp">class MyClass
{
   virtual ~MyClass() = 0;
};

MyClass::~MyClass(){}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1566451</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1566451</guid><dc:creator><![CDATA[C++-Profi]]></dc:creator><pubDate>Sun, 17 Aug 2008 15:31:22 GMT</pubDate></item><item><title><![CDATA[Reply to Basisklasseninstanz &amp;quot;verbieten&amp;quot; &amp;amp; mehrdimensionale Arrays mit new on Sun, 17 Aug 2008 15:33:00 GMT]]></title><description><![CDATA[<p>Zu 1: Konstruktor(en) protected machen.<br />
Gruss Simon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1566452</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1566452</guid><dc:creator><![CDATA[simon.gysi]]></dc:creator><pubDate>Sun, 17 Aug 2008 15:33:00 GMT</pubDate></item><item><title><![CDATA[Reply to Basisklasseninstanz &amp;quot;verbieten&amp;quot; &amp;amp; mehrdimensionale Arrays mit new on Sun, 17 Aug 2008 16:38:55 GMT]]></title><description><![CDATA[<p>Programmierer schrieb:</p>
<blockquote>
<p><strong>2.)</strong> Ist es möglich mit <strong>new</strong> ein 2- oder mehrdimensionales Array zu erstellen? Und wenn ja. Wie?</p>
<p>Danke</p>
</blockquote>
<p>Wenn die Dimensionen beim Compilieren bekannt sind, geht es z.B. so:</p>
<pre><code class="language-cpp">int main() {

	const int a = 3;
	const int b = 4;
	const int c = 5;

	typedef int(*Ptr)[b][c];	

	Ptr arr = new int[a][b][c];

	arr[0][0][4]  = 4711; 

	delete [] arr;
return 0;
}
mfg
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1566499</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1566499</guid><dc:creator><![CDATA[egon2]]></dc:creator><pubDate>Sun, 17 Aug 2008 16:38:55 GMT</pubDate></item><item><title><![CDATA[Reply to Basisklasseninstanz &amp;quot;verbieten&amp;quot; &amp;amp; mehrdimensionale Arrays mit new on Sun, 17 Aug 2008 21:31:05 GMT]]></title><description><![CDATA[<p>Zu 2.:</p>
<pre><code class="language-cpp">int** Array2D = new int*[x];
for (int i = 0; i &lt; x; ++i)
{
    Array2D[i] = new int[y];
}
</code></pre>
<p>Und wieder schön aufräumen (mit <code>delete[]</code> , nicht <code>delete</code> ):</p>
<pre><code class="language-cpp">for (int i = 0; i &lt; x; ++i)
{
    delete[] Array2D[i];
}
delete[] Array2D;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1566625</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1566625</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 17 Aug 2008 21:31:05 GMT</pubDate></item><item><title><![CDATA[Reply to Basisklasseninstanz &amp;quot;verbieten&amp;quot; &amp;amp; mehrdimensionale Arrays mit new on Mon, 18 Aug 2008 07:09:10 GMT]]></title><description><![CDATA[<p>Bitte nicht. Wenn du ein rechteckiges Array hast (also die Länge der Zeilen bzw. Spalten immer gleich ist), dann ist Nexus' Lösung nicht so doll.</p>
<p>Benutz' ein eindimensionales Array der Größe n * m und rechne den Index um: <code>a[x][y]</code> entspricht <code>a[n*x + y]</code> oder sowas.</p>
<p>Zu 1.: Der riesige Vorteil an Simons Lösung ist, dass du dem Benutzer der Basisklasse keine Laufzeitpolymorphie aufzwingst. Er muss nur die Konstruktoren implementieren, was man sowieso für fast jede Klasse macht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1566708</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1566708</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Mon, 18 Aug 2008 07:09:10 GMT</pubDate></item><item><title><![CDATA[Reply to Basisklasseninstanz &amp;quot;verbieten&amp;quot; &amp;amp; mehrdimensionale Arrays mit new on Mon, 18 Aug 2008 08:48:45 GMT]]></title><description><![CDATA[<p>.filmor schrieb:</p>
<blockquote>
<p>Zu 1.: Der riesige Vorteil an Simons Lösung ist, dass du dem Benutzer der Basisklasse keine Laufzeitpolymorphie aufzwingst. Er muss nur die Konstruktoren implementieren, was man sowieso für fast jede Klasse macht.</p>
</blockquote>
<p>Bei abstrakten Basisklassen ist es denke ich Ok von laufzeit polymorphie auszugehen...</p>
<p>zumal ctors protected zu machen niemanden daran hindert objekte der klasse zu erstellen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1566742</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1566742</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Mon, 18 Aug 2008 08:48:45 GMT</pubDate></item><item><title><![CDATA[Reply to Basisklasseninstanz &amp;quot;verbieten&amp;quot; &amp;amp; mehrdimensionale Arrays mit new on Mon, 18 Aug 2008 08:56:16 GMT]]></title><description><![CDATA[<p>Shade Of Mine schrieb:</p>
<blockquote>
<p>zumal ctors protected zu machen niemanden daran hindert objekte der klasse zu erstellen...</p>
</blockquote>
<p>Das versteh ich jetzt mal nicht. Was meinst du?</p>
<p>@irgendwo weiter oben:<br />
Einen rein virtuellen Destruktor finde ich von der Semantik immer ziemlich fragwürdig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1566746</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1566746</guid><dc:creator><![CDATA[7H3 N4C3R]]></dc:creator><pubDate>Mon, 18 Aug 2008 08:56:16 GMT</pubDate></item><item><title><![CDATA[Reply to Basisklasseninstanz &amp;quot;verbieten&amp;quot; &amp;amp; mehrdimensionale Arrays mit new on Mon, 18 Aug 2008 09:09:49 GMT]]></title><description><![CDATA[<p>Zu deiner 1. Frage: du könntest dich nach &quot;singleton&quot; design pattern umsehen, da gibt es sicher genügend</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1566758</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1566758</guid><dc:creator><![CDATA[Basingstoke]]></dc:creator><pubDate>Mon, 18 Aug 2008 09:09:49 GMT</pubDate></item><item><title><![CDATA[Reply to Basisklasseninstanz &amp;quot;verbieten&amp;quot; &amp;amp; mehrdimensionale Arrays mit new on Mon, 18 Aug 2008 09:23:10 GMT]]></title><description><![CDATA[<p>Basingstoke schrieb:</p>
<blockquote>
<p>Zu deiner 1. Frage: du könntest dich nach &quot;singleton&quot; design pattern umsehen, da gibt es sicher genügend</p>
</blockquote>
<p>Singleton -&gt; Genau eine Instanz, nicht genau keine.<br />
Demnach nicht sinnvoll.<br />
Simon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1566763</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1566763</guid><dc:creator><![CDATA[simon.gysi]]></dc:creator><pubDate>Mon, 18 Aug 2008 09:23:10 GMT</pubDate></item><item><title><![CDATA[Reply to Basisklasseninstanz &amp;quot;verbieten&amp;quot; &amp;amp; mehrdimensionale Arrays mit new on Mon, 18 Aug 2008 09:26:21 GMT]]></title><description><![CDATA[<p>Kann man auf Instanz nicht auch einen Wortfilter legen? *scnr* Die paar Male, wo dieses Wort hier im Forum richtig benutzt wird, kann man wohl auch unter den Tisch fallen lassen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1566767</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1566767</guid><dc:creator><![CDATA[7H3 N4C3R]]></dc:creator><pubDate>Mon, 18 Aug 2008 09:26:21 GMT</pubDate></item><item><title><![CDATA[Reply to Basisklasseninstanz &amp;quot;verbieten&amp;quot; &amp;amp; mehrdimensionale Arrays mit new on Mon, 18 Aug 2008 09:29:06 GMT]]></title><description><![CDATA[<p>7H3 N4C3R schrieb:</p>
<blockquote>
<p>Kann man auf Instanz nicht auch einen Wortfilter legen? *scnr* Die paar Male, wo dieses Wort hier im Forum richtig benutzt wird, kann man wohl auch unter den Tisch fallen lassen...</p>
</blockquote>
<p>was meinst du damit?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1566769</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1566769</guid><dc:creator><![CDATA[Jester]]></dc:creator><pubDate>Mon, 18 Aug 2008 09:29:06 GMT</pubDate></item><item><title><![CDATA[Reply to Basisklasseninstanz &amp;quot;verbieten&amp;quot; &amp;amp; mehrdimensionale Arrays mit new on Mon, 18 Aug 2008 09:32:50 GMT]]></title><description><![CDATA[<p>Dass Instanz eine weitverbreitete Fehlübersetzung von &quot;instance&quot; (was in dem Zusammenhang, in dem es mal benutzt wurde, wörtlich &quot;Beispiel&quot; heißt und &quot;Objekt&quot; gemeint ist) ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1566772</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1566772</guid><dc:creator><![CDATA[7H3 N4C3R]]></dc:creator><pubDate>Mon, 18 Aug 2008 09:32:50 GMT</pubDate></item><item><title><![CDATA[Reply to Basisklasseninstanz &amp;quot;verbieten&amp;quot; &amp;amp; mehrdimensionale Arrays mit new on Mon, 18 Aug 2008 09:54:12 GMT]]></title><description><![CDATA[<p>7H3 N4C3R schrieb:</p>
<blockquote>
<p>Dass Instanz eine weitverbreitete Fehlübersetzung von &quot;instance&quot; (was in dem Zusammenhang, in dem es mal benutzt wurde, wörtlich &quot;Beispiel&quot; heißt und &quot;Objekt&quot; gemeint ist) ist.</p>
</blockquote>
<p><a href="http://de.wikipedia.org/wiki/Instanz_%28Informatik%29" rel="nofollow">http://de.wikipedia.org/wiki/Instanz_(Informatik)</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1566783</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1566783</guid><dc:creator><![CDATA[Jester]]></dc:creator><pubDate>Mon, 18 Aug 2008 09:54:12 GMT</pubDate></item><item><title><![CDATA[Reply to Basisklasseninstanz &amp;quot;verbieten&amp;quot; &amp;amp; mehrdimensionale Arrays mit new on Mon, 18 Aug 2008 10:15:52 GMT]]></title><description><![CDATA[<p>7H3 N4C3R schrieb:</p>
<blockquote>
<p>Shade Of Mine schrieb:</p>
<blockquote>
<p>zumal ctors protected zu machen niemanden daran hindert objekte der klasse zu erstellen...</p>
</blockquote>
<p>Das versteh ich jetzt mal nicht. Was meinst du?</p>
</blockquote>
<p>Vielleicht, dass wenn man eh schon eine abstrakte Basisklasse hat (was aber der OP mit dem „normal“ denke ich gerade ausgeschlossen hat) man ja nichts zusätzlich aufzwingt, wenn man einen rein virtuellen Destruktor hinzufügt. Man kann sogar den Basisklassendestruktor trotzdem etwas tun lassen.</p>
<p>Jester schrieb:</p>
<blockquote>
<p>7H3 N4C3R schrieb:</p>
<blockquote>
<p>Dass Instanz eine weitverbreitete Fehlübersetzung von &quot;instance&quot; (was in dem Zusammenhang, in dem es mal benutzt wurde, wörtlich &quot;Beispiel&quot; heißt und &quot;Objekt&quot; gemeint ist) ist.</p>
</blockquote>
<p><a href="http://de.wikipedia.org/wiki/Instanz_%28Informatik%29" rel="nofollow">http://de.wikipedia.org/wiki/Instanz_(Informatik)</a></p>
</blockquote>
<p>Haha! <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/1566804</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1566804</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Mon, 18 Aug 2008 10:15:52 GMT</pubDate></item><item><title><![CDATA[Reply to Basisklasseninstanz &amp;quot;verbieten&amp;quot; &amp;amp; mehrdimensionale Arrays mit new on Mon, 18 Aug 2008 10:53:46 GMT]]></title><description><![CDATA[<p>.filmor schrieb:</p>
<blockquote>
<p>Jester schrieb:</p>
<blockquote>
<p><a href="http://de.wikipedia.org/wiki/Instanz_%28Informatik%29" rel="nofollow">http://de.wikipedia.org/wiki/Instanz_(Informatik)</a></p>
</blockquote>
<p>Haha! <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>
</blockquote>
<p>:p Sekunde, das muss ich gerade mal editieren <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="😃"
    /> In Wikipedia steht doch eh nur nicht fundierter Mist drin <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>
<p>.filmor schrieb:</p>
<blockquote>
<p>7H3 N4C3R schrieb:</p>
<blockquote>
<p>Shade Of Mine schrieb:</p>
<blockquote>
<p>zumal ctors protected zu machen niemanden daran hindert objekte der klasse zu erstellen...</p>
</blockquote>
<p>Das versteh ich jetzt mal nicht. Was meinst du?</p>
</blockquote>
<p>Vielleicht, dass wenn man eh schon eine abstrakte Basisklasse hat (was aber der OP mit dem „normal“ denke ich gerade ausgeschlossen hat) man ja nichts zusätzlich aufzwingt, wenn man einen rein virtuellen Destruktor hinzufügt. Man kann sogar den Basisklassendestruktor trotzdem etwas tun lassen.</p>
</blockquote>
<p>Worauf ich hinaus wollte ist das hier:</p>
<pre><code class="language-cpp">class Base
{
protected:
  Base();
  Base( const Base&amp;);
};

Base b; //&lt;&lt;&lt; geht nicht
</code></pre>
<p>Also mich hindert es, Objekte der Klasse zu erstellen <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="😕"
    /> Deshalb verstehe ich nicht, worauf Shade hinaus will, weil er das eigentlich nicht meinen kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1566833</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1566833</guid><dc:creator><![CDATA[7H3 N4C3R]]></dc:creator><pubDate>Mon, 18 Aug 2008 10:53:46 GMT</pubDate></item><item><title><![CDATA[Reply to Basisklasseninstanz &amp;quot;verbieten&amp;quot; &amp;amp; mehrdimensionale Arrays mit new on Mon, 18 Aug 2008 10:41:53 GMT]]></title><description><![CDATA[<p>essentiell- wichtiges detail diese diskussion über instanz...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1566837</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1566837</guid><dc:creator><![CDATA[simon.gysi]]></dc:creator><pubDate>Mon, 18 Aug 2008 10:41:53 GMT</pubDate></item><item><title><![CDATA[Reply to Basisklasseninstanz &amp;quot;verbieten&amp;quot; &amp;amp; mehrdimensionale Arrays mit new on Mon, 18 Aug 2008 15:16:19 GMT]]></title><description><![CDATA[<p>7H3 N4C3R schrieb:</p>
<blockquote>
<p>Also mich hindert es, Objekte der Klasse zu erstellen <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="😕"
    /> Deshalb verstehe ich nicht, worauf Shade hinaus will, weil er das eigentlich nicht meinen kann.</p>
</blockquote>
<p>Vielleicht eine Instanziierung der Basisklasse durch eine abgeleitete Klasse. <code>protected</code> ist ja schon fast <code>public</code> <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/1567025</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1567025</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Mon, 18 Aug 2008 15:16:19 GMT</pubDate></item><item><title><![CDATA[Reply to Basisklasseninstanz &amp;quot;verbieten&amp;quot; &amp;amp; mehrdimensionale Arrays mit new on Tue, 19 Aug 2008 06:36:04 GMT]]></title><description><![CDATA[<p>Aber genau das wäre ja auch im Sinne der Frage des OP. Ich glaube aber ich weiß, was er meinte. <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="🙂"
    /> (vermutlich, dass protected-Konstruktoren sich nur auf die Klasse selbst auswirken und pure virtual Methoden auf alle Ebenen bis zum Überschreiben - hat imho beides sein für und wider)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1567278</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1567278</guid><dc:creator><![CDATA[7H3 N4C3R]]></dc:creator><pubDate>Tue, 19 Aug 2008 06:36:04 GMT</pubDate></item></channel></rss>