<?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[problem mit protcted ( class ),bitte um hilfe!]]></title><description><![CDATA[<p>hi, ich habe hier folgenden Bsp. code in dem ich in der klasse a eine variable erstelle und diese mit einer funktion der class a auf 1 setze, nun leite ich eine class b ab um mit einer funktion diese variable auf 5 zusetzen. fuehrt man folgenden code aus, wird aber die variable nicht veraendert und bleibt unveraendert auf 1. wieso ist das so... und kann mir einer damit helfen, danke.</p>
<pre><code class="language-cpp">//---------------------------------------------------------------------------

#include &lt;iostream&gt;
    using namespace std;

class a {

    public:

        void set();
        void get();

    protected:

        int var;
};

    void a::set() {

        this-&gt;var = 1;
    }

    void a::get() {

        cout &lt;&lt; this-&gt;var &lt;&lt; endl;
    }

class b : public a {

    public:

        void Set();
};

    void b::Set() {

        a::var + 5;
    }

int main(int argc, char* argv[]) {

    a *A = new a;
    b *B = new b;

    A-&gt;set();   
    A-&gt;get();   // var = 1
    getchar();
    B-&gt;Set();   // soll var auf 5 setzen
    A-&gt;get();   // müsste var = 5 wieder geben

    getchar();
    return 0;
}
//---------------------------------------------------------------------------
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/164290/problem-mit-protcted-class-bitte-um-hilfe</link><generator>RSS for Node</generator><lastBuildDate>Sun, 13 Sep 2026 19:18:42 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/164290.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 06 Nov 2006 19:52:50 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to problem mit protcted ( class ),bitte um hilfe! on Mon, 06 Nov 2006 19:52:50 GMT]]></title><description><![CDATA[<p>hi, ich habe hier folgenden Bsp. code in dem ich in der klasse a eine variable erstelle und diese mit einer funktion der class a auf 1 setze, nun leite ich eine class b ab um mit einer funktion diese variable auf 5 zusetzen. fuehrt man folgenden code aus, wird aber die variable nicht veraendert und bleibt unveraendert auf 1. wieso ist das so... und kann mir einer damit helfen, danke.</p>
<pre><code class="language-cpp">//---------------------------------------------------------------------------

#include &lt;iostream&gt;
    using namespace std;

class a {

    public:

        void set();
        void get();

    protected:

        int var;
};

    void a::set() {

        this-&gt;var = 1;
    }

    void a::get() {

        cout &lt;&lt; this-&gt;var &lt;&lt; endl;
    }

class b : public a {

    public:

        void Set();
};

    void b::Set() {

        a::var + 5;
    }

int main(int argc, char* argv[]) {

    a *A = new a;
    b *B = new b;

    A-&gt;set();   
    A-&gt;get();   // var = 1
    getchar();
    B-&gt;Set();   // soll var auf 5 setzen
    A-&gt;get();   // müsste var = 5 wieder geben

    getchar();
    return 0;
}
//---------------------------------------------------------------------------
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1169997</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1169997</guid><dc:creator><![CDATA[T0bi]]></dc:creator><pubDate>Mon, 06 Nov 2006 19:52:50 GMT</pubDate></item><item><title><![CDATA[Reply to problem mit protcted ( class ),bitte um hilfe! on Mon, 06 Nov 2006 19:59:19 GMT]]></title><description><![CDATA[<p>Da du der Variable gar keinen neuen Wert zuweißt:</p>
<blockquote>
<p>[...]<br />
a::var + 5;<br />
[...]</p>
</blockquote>
<p>Eher so:</p>
<pre><code class="language-cpp">a::var = 5;
// bzw.:
a::var += 5;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1170002</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1170002</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Mon, 06 Nov 2006 19:59:19 GMT</pubDate></item><item><title><![CDATA[Reply to problem mit protcted ( class ),bitte um hilfe! on Mon, 06 Nov 2006 20:26:04 GMT]]></title><description><![CDATA[<p>negativ, es ist egal ob ich += 5 oder = 5 schreibe es aendert sich nichts.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1170034</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1170034</guid><dc:creator><![CDATA[T0bi]]></dc:creator><pubDate>Mon, 06 Nov 2006 20:26:04 GMT</pubDate></item><item><title><![CDATA[Reply to problem mit protcted ( class ),bitte um hilfe! on Mon, 06 Nov 2006 20:29:05 GMT]]></title><description><![CDATA[<p>T0bi schrieb:</p>
<blockquote>
<pre><code>B-&gt;Set();   // soll var auf 5 setzen
    A-&gt;get();   // müsste var = 5 wieder geben
</code></pre>
</blockquote>
<p>Wenn Du B veränderst, solltest Du auch B ausgeben. A und B sind unabhängige Objekte, auch wenn die Klassen verwandt sind...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1170038</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1170038</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Mon, 06 Nov 2006 20:29:05 GMT</pubDate></item><item><title><![CDATA[Reply to problem mit protcted ( class ),bitte um hilfe! on Mon, 06 Nov 2006 21:04:14 GMT]]></title><description><![CDATA[<p>hmm.... neeeheeeee will des aber net so..... wie schaff ich es denn nun das es so funktioniert wie ich es mir so vorgestellt habe??? bräuchte diesen lösungsweg auf alle fälle. danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1170063</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1170063</guid><dc:creator><![CDATA[T0bi]]></dc:creator><pubDate>Mon, 06 Nov 2006 21:04:14 GMT</pubDate></item><item><title><![CDATA[Reply to problem mit protcted ( class ),bitte um hilfe! on Mon, 06 Nov 2006 21:05:37 GMT]]></title><description><![CDATA[<p>T0bi schrieb:</p>
<blockquote>
<p>hmm.... neeeheeeee will des aber net so..... wie schaff ich es denn nun das es so funktioniert wie ich es mir so vorgestellt habe??? bräuchte diesen lösungsweg auf alle fälle. danke</p>
</blockquote>
<p>Du bist ja lustig, wie haste Dir das den _genau_ vorgestellt ?<br />
SO geht es eben 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>
]]></description><link>https://www.c-plusplus.net/forum/post/1170064</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1170064</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Mon, 06 Nov 2006 21:05:37 GMT</pubDate></item><item><title><![CDATA[Reply to problem mit protcted ( class ),bitte um hilfe! on Mon, 06 Nov 2006 21:19:05 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">...
int main(int argc, char* argv[]) {
    b *B = new b;

    B-&gt;set();   
    B-&gt;get();   // gibt 1
    getchar();
    B-&gt;Set();   
    B-&gt;get();   // gibt 6 (1+5)

    getchar();
    return 0;
}
</code></pre>
<p>Das kleingeschriebene set ist dann das von class a und das grossgeschriebene von class b... Wenn dort a::var <strong>+=</strong> 5 steht <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>&lt;nickel&gt; Achja, da fehlt noch ein delete B; &lt;/nickel&gt;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1170067</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1170067</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Mon, 06 Nov 2006 21:19:05 GMT</pubDate></item><item><title><![CDATA[Reply to problem mit protcted ( class ),bitte um hilfe! on Tue, 07 Nov 2006 10:26:36 GMT]]></title><description><![CDATA[<p>T0bi schrieb:</p>
<blockquote>
<p>hmm.... neeeheeeee will des aber net so..... wie schaff ich es denn nun das es so funktioniert wie ich es mir so vorgestellt habe??? bräuchte diesen lösungsweg auf alle fälle. danke</p>
</blockquote>
<p>Willst Du vielleicht das:</p>
<pre><code class="language-cpp">int main(int argc, char* argv[]) {
    b *B = new b;
    a *A = b;

    A-&gt;set();  
    A-&gt;get();   // var = 1
    getchar();
    B-&gt;Set();   // soll var auf 5 setzen
    A-&gt;get();   // müsste var = 5 wieder geben

    getchar();
    delete B;
    return 0;
}
</code></pre>
<p>??</p>
<p>Mal kleine (aber nicht unwichtige) Style-Tipps:</p>
<ul>
<li>Wenn man GroßKleinschreibung unterscheidet: Es ist üblicher, Klassen Groß und Variablen klein zu schreiben.</li>
<li>fast gleichlautenden Funktionsnamen für Funktionen, die unterscheidliches machen, sind seeeehr fehleranfällig.</li>
</ul>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1170301</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1170301</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Tue, 07 Nov 2006 10:26:36 GMT</pubDate></item></channel></rss>