<?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[Klasse mit Array-Feeling...]]></title><description><![CDATA[<p>Hi. Ich habe ein kleines Problem. Ich will eine Klasse basteln, von der sich auch Arrays erstellen lassen - also Zugriff auf Elemente und Erstellung eines Feldes mit eckigen Klammern []. Die &quot;normale&quot; Variante sieht vereinfacht etwa so aus:</p>
<pre><code class="language-cpp">class t_klasse {
      public:
          t_klasse(double a=0, bool b=0, char c=0, int d=1) { ... };
          ...
      private:

          double a;
          bool   b;
          char   c;
          int    d;
};
</code></pre>
<p>Beim Entwurf bin ich mir nicht ganz sicher, wie ich zwischen Konstruktor-[] und Zugriffs-[] unterscheiden kann. <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="😕"
    /> Konzept:</p>
<pre><code class="language-cpp">class t_klasse {
    public:
        t_klasse(double a=0, bool b=0, char c=0, int d=1);

        t_klasse operator[](size_t size) {
            a=new double[size];
            b=new bool[size];
            c=new char[size];
            d=new int[size]; } // denke, so lässt sich ein Feld erstellen ?!

        t_klasse(double a, bool b, char c, int d) {
            this-&gt;a=new double(a);
            this-&gt;b=new bool(b);   
            this-&gt;c=new char(c);                   
            this-&gt;d=new int(d); } // Standard-Konstruktor

    private:
          double *a;
          bool   *b;
          char   *c;
          int    *d;
};
</code></pre>
<p>Wie kann ich aber nun zugreifen? Ruft man t_klasse[element] auf, sollte theoretisch eine &quot;NON-ARRAY t_klasse&quot; zurückgegeben werden. Wäre dankbar über Ansätze zur Realisierung!</p>
<p>//edit:</p>
<p>Von Klassen-Pointer-Inkompatibilität geblendet hab ich ganz vergessen, das sich auch von &quot;Natur aus&quot; Klassen-Arrays erstellen lassen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>Naja, damit mein Posting weiterhin Sinn behält, gehen wir mal davon aus, dass sich die Größe des Arrays dynamisch ändern lässt. <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="😉"
    /> Die zentrale Frage ist aber noch die Geschichte mit den eckigen Klammern.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/125859/klasse-mit-array-feeling</link><generator>RSS for Node</generator><lastBuildDate>Mon, 24 Aug 2026 12:52:11 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/125859.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 09 Nov 2005 22:38:32 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Klasse mit Array-Feeling... on Wed, 09 Nov 2005 22:55:19 GMT]]></title><description><![CDATA[<p>Hi. Ich habe ein kleines Problem. Ich will eine Klasse basteln, von der sich auch Arrays erstellen lassen - also Zugriff auf Elemente und Erstellung eines Feldes mit eckigen Klammern []. Die &quot;normale&quot; Variante sieht vereinfacht etwa so aus:</p>
<pre><code class="language-cpp">class t_klasse {
      public:
          t_klasse(double a=0, bool b=0, char c=0, int d=1) { ... };
          ...
      private:

          double a;
          bool   b;
          char   c;
          int    d;
};
</code></pre>
<p>Beim Entwurf bin ich mir nicht ganz sicher, wie ich zwischen Konstruktor-[] und Zugriffs-[] unterscheiden kann. <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="😕"
    /> Konzept:</p>
<pre><code class="language-cpp">class t_klasse {
    public:
        t_klasse(double a=0, bool b=0, char c=0, int d=1);

        t_klasse operator[](size_t size) {
            a=new double[size];
            b=new bool[size];
            c=new char[size];
            d=new int[size]; } // denke, so lässt sich ein Feld erstellen ?!

        t_klasse(double a, bool b, char c, int d) {
            this-&gt;a=new double(a);
            this-&gt;b=new bool(b);   
            this-&gt;c=new char(c);                   
            this-&gt;d=new int(d); } // Standard-Konstruktor

    private:
          double *a;
          bool   *b;
          char   *c;
          int    *d;
};
</code></pre>
<p>Wie kann ich aber nun zugreifen? Ruft man t_klasse[element] auf, sollte theoretisch eine &quot;NON-ARRAY t_klasse&quot; zurückgegeben werden. Wäre dankbar über Ansätze zur Realisierung!</p>
<p>//edit:</p>
<p>Von Klassen-Pointer-Inkompatibilität geblendet hab ich ganz vergessen, das sich auch von &quot;Natur aus&quot; Klassen-Arrays erstellen lassen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>Naja, damit mein Posting weiterhin Sinn behält, gehen wir mal davon aus, dass sich die Größe des Arrays dynamisch ändern lässt. <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="😉"
    /> Die zentrale Frage ist aber noch die Geschichte mit den eckigen Klammern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/913444</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/913444</guid><dc:creator><![CDATA[BloodLord]]></dc:creator><pubDate>Wed, 09 Nov 2005 22:55:19 GMT</pubDate></item><item><title><![CDATA[Reply to Klasse mit Array-Feeling... on Thu, 10 Nov 2005 05:32:47 GMT]]></title><description><![CDATA[<p>du hast den sinn des op[] nicht verstanden.</p>
<pre><code class="language-cpp">char foo[5];//dafür ist er nicht

//dafür ist er
foo[0]='a';
std::cout&lt;&lt;foo[0];
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/913510</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/913510</guid><dc:creator><![CDATA[otze]]></dc:creator><pubDate>Thu, 10 Nov 2005 05:32:47 GMT</pubDate></item><item><title><![CDATA[Reply to Klasse mit Array-Feeling... on Thu, 10 Nov 2005 14:27:38 GMT]]></title><description><![CDATA[<p>Danke <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="😉"
    /> Klingt einleuchtend... Aber wie kann man einen Konstuktor, der beim erstellen von Arrays aufgerufen wird, z.B.</p>
<pre><code class="language-cpp">char matrix[20];
</code></pre>
<p>überladen? Vielleicht new[] überladen? Wie könnte eine entsprechende Klasse in Etwa aussehen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/913968</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/913968</guid><dc:creator><![CDATA[BloodLord]]></dc:creator><pubDate>Thu, 10 Nov 2005 14:27:38 GMT</pubDate></item><item><title><![CDATA[Reply to Klasse mit Array-Feeling... on Thu, 10 Nov 2005 15:16:25 GMT]]></title><description><![CDATA[<p>Garnicht..</p>
<p>Wenn Du<br />
tKlasse matrix[20];</p>
<p>machst werden 20 Objekte vom Typ tKlasse erzeugt und auch für jedes der 20 der Standard-Konstruktor einmal aufgerufen.</p>
<p>Was willst Du denn erreichen? Kannst Du nicht die Anzahl dem Konstruktor als Integer übergeben und dann ein passendes Feld erzeugen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/914048</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/914048</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Thu, 10 Nov 2005 15:16:25 GMT</pubDate></item><item><title><![CDATA[Reply to Klasse mit Array-Feeling... on Thu, 10 Nov 2005 16:50:22 GMT]]></title><description><![CDATA[<p>Ich habe eine Festsellung gemacht: Ich hab unglaublichen Müll gepostet <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /><br />
Hatte ein einfaches Problem, aber meine herangehensweise war völlig falsch.</p>
<p>sry</p>
]]></description><link>https://www.c-plusplus.net/forum/post/914131</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/914131</guid><dc:creator><![CDATA[BloodLord]]></dc:creator><pubDate>Thu, 10 Nov 2005 16:50:22 GMT</pubDate></item></channel></rss>