<?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[Seit Tagen ungelöstes Problem - Klassen...]]></title><description><![CDATA[<p>Nabbend! Hier ersma mein Code! <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>//----------------------Hauptprogramm-----------------------------

int main(int argc, char* argv[])
{
    int menueeingabe;
    string zeichen, additionzahl;
    bool meldung_1, meldung_2;

    palindrom meinpalindrom;

    cout &lt;&lt; &quot;Willkommen beim Palindrom Programm!&quot;;
    cout &lt;&lt; &quot;\n&quot; &lt;&lt; &quot;(1) Zeichenkette oder Zahl&quot;;
    cout &lt;&lt; &quot;\n&quot; &lt;&lt; &quot;(2) Additionsverfahren&quot;;
    cout &lt;&lt; &quot;\n&quot; &lt;&lt; &quot;Deine Eingabe: &quot;;
    cin &gt;&gt; menueeingabe;

    switch ( menueeingabe )
        {
        case 1:

            // Eingabe wird &quot;gelöscht&quot;, dann geht auch getline wieder!
            cin.seekg(0,ios::end);
            clrscr();

            cout &lt;&lt; &quot;Bitte eine Zahl oder ein Wort eingeben: &quot;;
            // Es werden solange Zeichen eingelesen bis man RETURN drückt!
            // Auch Leerzeichen werden beachtet!
            getline( cin, zeichen );
            meinpalindrom.setZeichenfolge( zeichen );

            meldung_1 = meinpalindrom.zeichenpalindrom();

            cout &lt;&lt; &quot;\n&quot; &lt;&lt; zeichen &lt;&lt; &quot;wurde eingegeben...&quot;;

            // Wenn Meldung = &quot;true&quot; dann ist es ein Palindrom, sonst nicht!
            if ( meldung_1 == true )
                cout &lt;&lt; &quot;\n\n&quot; &lt;&lt; meinpalindrom.getZeichenfolge() &lt;&lt; &quot;ist ein Palindrom!&quot;;
            else
                cout &lt;&lt; &quot;\n\n&quot; &lt;&lt; meinpalindrom.getZeichenfolge() &lt;&lt; &quot;ist kein Palindrom!&quot;;
            break;

        case 2:

            // Hier soll mal das Additionsverfahren rein kommen! ^^

            break;
        case 3:

            break;
        default:

            break;
        }

    getch();
}

//------------------------Header-----------------------------

#ifndef PALIN_H
    #define PALIN_H
    #include &lt;conio.h&gt; // für getch()
    #include &lt;iostream.h&gt; // für cout
    class palindrom
        {
        public:
            void setZeichenfolge( string );
            string getZeichenfolge( void );

            bool zeichenpalindrom( void );
            bool additionpalindrom( void );

        private:
            string zeichenpalin;
            int anfang, ende, maximum, i;
        };

#endif

//----------------CPP-Datei mit Methoden etc.-----------------------

#include &lt;conio.h&gt; // für getch()
#include &lt;iostream.h&gt; // für cout
#include &quot;Palin.h&quot;

void palindrom :: setZeichenfolge( string z )
    {
    zeichenpalin = z;
    }

string palindrom :: getZeichenfolge( void )
    {
    return zeichenpalin;
    }

bool palindrom :: zeichenpalindrom( void )
{
    // Maximale Zeichenlänge
    maximum = zeichenpalin.length();
    // Anfangsindex
    anfang = 0;
    // Endindex
    ende = maximum - 2;

    // Zeichen werden hochgezählt...
    for ( i = 0; i &lt; ende + 1; i++)
        {
        // Umwandlung von Groß in Kleinschreibung
        if ( zeichenpalin[i] &gt;= 'A' &amp;&amp; zeichenpalin[i] &lt;= 'Z' )
             zeichenpalin[i] = 'a' + (zeichenpalin[i] - 'A' );
        }

    // Leerzeichen werden &quot;übersprungen&quot;
    if ( zeichenpalin[i] == ' ' )
        {
        i++;
        }

    while( ende &gt; anfang )
        {
        // Wenn das erste Zeichen nicht = das letzte Zeichen, dann brich ab!
        if( zeichenpalin[anfang] != zeichenpalin[ende] )
            {
            break;
            }
        // Alles was kein Buchstabe ist wird übersprungen
        do
            {
            anfang++;
            } while ( !isalpha( anfang ));
        // Ende um 1 verringert
        ende--;
        }
    // Wenn Ende größer als Anfang ist = KEIN Palindrom...
    if( ende &gt; anfang )
        {
        return false;
        }
    // Ansonsten ist es ein Palindrom
    else
        {
        return true;
        }
}

bool palindrom :: additionpalindrom( void )
{
    return true;
}

//---------------------------------------------------------------------------
</code></pre>
<p>Naja mein Programm hat soweit geklappt, nur will ich jetz das Palindrom Addotitionsverfahren noch hinzufügen!</p>
<p>Naja gesagt getan, Methode reingehauen...Un dann kam dieser tolle Fehler:</p>
<p><strong>[C++ Error] Palin.cpp(74): E2316 'palindrom::additionpalindrom()' is not a member of 'palindrom'</strong></p>
<p>Ich habe doch alles richtig gemacht oder? Ich such den Fehler jetzt schon seit Montag und finde ihn einfach nicht <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>Need HELP! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/200361/seit-tagen-ungelöstes-problem-klassen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 04 Oct 2026 20:46:58 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/200361.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 13 Dec 2007 18:07:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Seit Tagen ungelöstes Problem - Klassen... on Thu, 13 Dec 2007 18:07:58 GMT]]></title><description><![CDATA[<p>Nabbend! Hier ersma mein Code! <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>//----------------------Hauptprogramm-----------------------------

int main(int argc, char* argv[])
{
    int menueeingabe;
    string zeichen, additionzahl;
    bool meldung_1, meldung_2;

    palindrom meinpalindrom;

    cout &lt;&lt; &quot;Willkommen beim Palindrom Programm!&quot;;
    cout &lt;&lt; &quot;\n&quot; &lt;&lt; &quot;(1) Zeichenkette oder Zahl&quot;;
    cout &lt;&lt; &quot;\n&quot; &lt;&lt; &quot;(2) Additionsverfahren&quot;;
    cout &lt;&lt; &quot;\n&quot; &lt;&lt; &quot;Deine Eingabe: &quot;;
    cin &gt;&gt; menueeingabe;

    switch ( menueeingabe )
        {
        case 1:

            // Eingabe wird &quot;gelöscht&quot;, dann geht auch getline wieder!
            cin.seekg(0,ios::end);
            clrscr();

            cout &lt;&lt; &quot;Bitte eine Zahl oder ein Wort eingeben: &quot;;
            // Es werden solange Zeichen eingelesen bis man RETURN drückt!
            // Auch Leerzeichen werden beachtet!
            getline( cin, zeichen );
            meinpalindrom.setZeichenfolge( zeichen );

            meldung_1 = meinpalindrom.zeichenpalindrom();

            cout &lt;&lt; &quot;\n&quot; &lt;&lt; zeichen &lt;&lt; &quot;wurde eingegeben...&quot;;

            // Wenn Meldung = &quot;true&quot; dann ist es ein Palindrom, sonst nicht!
            if ( meldung_1 == true )
                cout &lt;&lt; &quot;\n\n&quot; &lt;&lt; meinpalindrom.getZeichenfolge() &lt;&lt; &quot;ist ein Palindrom!&quot;;
            else
                cout &lt;&lt; &quot;\n\n&quot; &lt;&lt; meinpalindrom.getZeichenfolge() &lt;&lt; &quot;ist kein Palindrom!&quot;;
            break;

        case 2:

            // Hier soll mal das Additionsverfahren rein kommen! ^^

            break;
        case 3:

            break;
        default:

            break;
        }

    getch();
}

//------------------------Header-----------------------------

#ifndef PALIN_H
    #define PALIN_H
    #include &lt;conio.h&gt; // für getch()
    #include &lt;iostream.h&gt; // für cout
    class palindrom
        {
        public:
            void setZeichenfolge( string );
            string getZeichenfolge( void );

            bool zeichenpalindrom( void );
            bool additionpalindrom( void );

        private:
            string zeichenpalin;
            int anfang, ende, maximum, i;
        };

#endif

//----------------CPP-Datei mit Methoden etc.-----------------------

#include &lt;conio.h&gt; // für getch()
#include &lt;iostream.h&gt; // für cout
#include &quot;Palin.h&quot;

void palindrom :: setZeichenfolge( string z )
    {
    zeichenpalin = z;
    }

string palindrom :: getZeichenfolge( void )
    {
    return zeichenpalin;
    }

bool palindrom :: zeichenpalindrom( void )
{
    // Maximale Zeichenlänge
    maximum = zeichenpalin.length();
    // Anfangsindex
    anfang = 0;
    // Endindex
    ende = maximum - 2;

    // Zeichen werden hochgezählt...
    for ( i = 0; i &lt; ende + 1; i++)
        {
        // Umwandlung von Groß in Kleinschreibung
        if ( zeichenpalin[i] &gt;= 'A' &amp;&amp; zeichenpalin[i] &lt;= 'Z' )
             zeichenpalin[i] = 'a' + (zeichenpalin[i] - 'A' );
        }

    // Leerzeichen werden &quot;übersprungen&quot;
    if ( zeichenpalin[i] == ' ' )
        {
        i++;
        }

    while( ende &gt; anfang )
        {
        // Wenn das erste Zeichen nicht = das letzte Zeichen, dann brich ab!
        if( zeichenpalin[anfang] != zeichenpalin[ende] )
            {
            break;
            }
        // Alles was kein Buchstabe ist wird übersprungen
        do
            {
            anfang++;
            } while ( !isalpha( anfang ));
        // Ende um 1 verringert
        ende--;
        }
    // Wenn Ende größer als Anfang ist = KEIN Palindrom...
    if( ende &gt; anfang )
        {
        return false;
        }
    // Ansonsten ist es ein Palindrom
    else
        {
        return true;
        }
}

bool palindrom :: additionpalindrom( void )
{
    return true;
}

//---------------------------------------------------------------------------
</code></pre>
<p>Naja mein Programm hat soweit geklappt, nur will ich jetz das Palindrom Addotitionsverfahren noch hinzufügen!</p>
<p>Naja gesagt getan, Methode reingehauen...Un dann kam dieser tolle Fehler:</p>
<p><strong>[C++ Error] Palin.cpp(74): E2316 'palindrom::additionpalindrom()' is not a member of 'palindrom'</strong></p>
<p>Ich habe doch alles richtig gemacht oder? Ich such den Fehler jetzt schon seit Montag und finde ihn einfach nicht <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>Need HELP! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1420121</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1420121</guid><dc:creator><![CDATA[NephTis]]></dc:creator><pubDate>Thu, 13 Dec 2007 18:07:58 GMT</pubDate></item><item><title><![CDATA[Reply to Seit Tagen ungelöstes Problem - Klassen... on Thu, 13 Dec 2007 19:09:43 GMT]]></title><description><![CDATA[<p>Du scheinst einen nicht mehr aktuellen Compiler zu verwenden, denn eigentlich heißt es nur noch (ohne .h):</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
</code></pre>
<p>Und du solltest wirklich nur die Header includen, welche auch wirklich benötigt werden (#include &lt;conio.h&gt; // für getch()).</p>
<p>Außerdem wird in C++ (void) als Parameterdeklaration auch nicht verwendet, dort reicht ein einfaches ().</p>
<p>Aber für dein Problem erst einmal irrelevant.</p>
<p>Ich kann jetzt auch erstmal keinen Schreibfehler entdecken.<br />
Hast du mal dein Projekt komplett neu compiliert?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1420157</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1420157</guid><dc:creator><![CDATA[Th]]></dc:creator><pubDate>Thu, 13 Dec 2007 19:09:43 GMT</pubDate></item><item><title><![CDATA[Reply to Seit Tagen ungelöstes Problem - Klassen... on Thu, 13 Dec 2007 19:35:37 GMT]]></title><description><![CDATA[<p>Kommentier die Deklaration und Definition mal aus, kompilier neu, dann entkommentiere die Deklaration und kompiliere.<br />
Vielleicht ist dein Compiler verbuggt, meine mich zu erinnern, mal sowas gehabt zu haben (Mit der alten VC++ 6.0)</p>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1420173</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1420173</guid><dc:creator><![CDATA[ceplusplus@loggedoff]]></dc:creator><pubDate>Thu, 13 Dec 2007 19:35:37 GMT</pubDate></item><item><title><![CDATA[Reply to Seit Tagen ungelöstes Problem - Klassen... on Thu, 13 Dec 2007 19:38:51 GMT]]></title><description><![CDATA[<p>Ja ich hab Borland 5.0 Professional... <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>Das gabs kostenlos vonner Schule <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>Auch neu compiliert etc habe ichs schon geschätzte 325236x... Ich bin am verzweifeln, weil irgendwie keiner das &quot;Problem&quot; findet <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>€DIT: ICH HABS GEFUNDEN! Ich habe jetz die Includes aus den CPP Dateien rausgeholt und nurnoch in der Header stehn! <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>
<p>JUUUHUUUUUUUUU! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1420174</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1420174</guid><dc:creator><![CDATA[NephTis]]></dc:creator><pubDate>Thu, 13 Dec 2007 19:38:51 GMT</pubDate></item><item><title><![CDATA[Reply to Seit Tagen ungelöstes Problem - Klassen... on Fri, 14 Dec 2007 10:43:48 GMT]]></title><description><![CDATA[<p>NephTis schrieb:</p>
<blockquote>
<p>€DIT: ICH HABS GEFUNDEN! Ich habe jetz die Includes aus den CPP Dateien rausgeholt und nurnoch in der Header stehn! <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>
</blockquote>
<p>Andersrum wärs besser. In den header solltest du wirklich nur die Includes einbauen die du dort auch brauchst, alles andere in die cpp. Ist bei STL-headern zwar nicht so unheimlich wichtig, gehört aber mit zum guten stil.<br />
Deswegen folgende Punkte:</p>
<p>- die includes von conio.h und iostream.h aus dem header raus.<br />
- eine forward-Deklaration für class string in den header, oder falls du die std::strings benutzt den entsprechenden header &lt;string&gt; der Standardbibliothek includieren (kann man nicht fwd-deklarieren, weils n Typedef auf n Template ist)</p>
<p>- die includes von conio.h und iostrem.h aus der cpp für die Plaindromklasse raus. Du benutzt auch dort weder cout noch getch()<br />
- includiere den header für std::isalpha() in die palin.cpp (müsste &lt;cctype&gt; sein) und benutze auch entsprechend std::isalpha() - isalpha() im globalen namensraum ist vermutlich aus einer C-Bibliothek und sollte dir vom Compiler eigentlich als deprecated (~veraltet) gemeldet werden (bzw. der Header dazu).</p>
<p>- In der Datei mit der main() dann die &lt;iostream&gt; (nicht die &lt;iostream.h&gt;, die ist auch veraltet!) includen und std::cout sowie std::cin statt den Pendants im globalen Namespace verwenden<br />
- Wenns denn unbedingt getch() sein muss in der Datei mit der main() auch die &lt;conio.h&gt; includen, die auch veraltet und nicht portabel ist (gibts nur unter Windows beim Borland und MSVC Compiler). Lieber sowas wie std::cin.get() nutzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1420420</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1420420</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Fri, 14 Dec 2007 10:43:48 GMT</pubDate></item><item><title><![CDATA[Reply to Seit Tagen ungelöstes Problem - Klassen... on Fri, 14 Dec 2007 14:11:54 GMT]]></title><description><![CDATA[<p>Wenn du nen kostenlosen + guten Compiler haben willst, wechsel auf Microsoft Visual C++ 2008 Express Edition oder auf eine Windowsvariante von GCC.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1420556</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1420556</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Fri, 14 Dec 2007 14:11:54 GMT</pubDate></item></channel></rss>