<?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[Member Fields haben keinen Wert]]></title><description><![CDATA[<p>Hallo Ich habe folgenden Code geschrieben und gerade keine Ahnung warum die member der LVA Objekte, welche im vector lvas gespeichert werden keinen Wert haben.</p>
<p>LVA.h</p>
<pre><code>#ifndef LVA_H
#define	LVA_H

#include &lt;string&gt;
#include &lt;iostream&gt;

using namespace std;

class LVA {
public:

    enum Status {
        DONE, IN_PROGRESS, TO_DO
    };

    enum Type {
        VO, VU, UE, SE
    };
    LVA();
    LVA(const LVA&amp; orig);
    virtual ~LVA();
    void SetEcts(double ects);
    double GetEcts() const;
    void SetType(Type type);
    Type GetType() const;
    void SetStatus(Status status);
    Status GetStatus() const;
    void SetName(string name);
    string GetName() const;
    friend ostream&amp; operator&lt;&lt;(ostream&amp; os, const LVA&amp; lva);
private:
    string name;
    Status status;
    Type type;
    double ects;

};

#endif	/* LVA_H */
</code></pre>
<p>LVA.cpp</p>
<pre><code>#include &quot;LVA.h&quot;

enum Status {
    DONE, IN_PROGRESS, TO_DO
};

enum Type {
    VO, VU, UE, SE
};

LVA::LVA() {
}

LVA::LVA(const LVA&amp; orig) {
}

LVA::~LVA() {
}

void LVA::SetEcts(double ects) {
    this-&gt;ects = ects;
}

double LVA::GetEcts() const {
    return ects;
}

void LVA::SetType(Type type) {
    this-&gt;type = type;
}

LVA::Type LVA::GetType() const {
    return type;
}

void LVA::SetStatus(Status status) {
    this-&gt;status = status;
}

LVA::Status LVA::GetStatus() const {
    return status;
}

void LVA::SetName(string name) {
    this-&gt;name = name;
}

string LVA::GetName() const {
    return name;
}

ostream&amp; operator&lt;&lt;(ostream&amp; os, const LVA&amp; lva) {
    os &lt;&lt; &quot;LVA: &quot; &lt;&lt; lva.GetName() &lt;&lt; &quot;, ECTS: &quot; &lt;&lt; lva.GetEcts() &lt;&lt; &quot;, STATUS: &quot; &lt;&lt; lva.GetStatus();
    return os;
}
</code></pre>
<p>Manager.h</p>
<pre><code>#ifndef MANAGER_H
#define	MANAGER_H

#include &lt;vector&gt;
#include &lt;iostream&gt;
#include &quot;LVA.h&quot;

using namespace std;

class Manager {
public:
    Manager();
    Manager(const Manager&amp; orig);
    virtual ~Manager();
    vector&lt;LVA&gt; GetLvas() const;
    void AddLva(LVA&amp; lva);
    void print();
private:
    vector&lt;LVA&gt; lvas;

};

#endif	/* MANAGER_H */
</code></pre>
<p>Manager.cpp</p>
<pre><code>#include &quot;Manager.h&quot;

Manager::Manager() {
}

Manager::Manager(const Manager&amp; orig) {
}

Manager::~Manager() {
}

vector&lt;LVA&gt; Manager::GetLvas() const {
    return lvas;
}

void Manager::AddLva(LVA&amp; lva) {
    lvas.push_back(lva);
}

void Manager::print() {
    for (vector&lt;LVA&gt;::iterator it = GetLvas().begin(); it != GetLvas().end(); ++it) {
        cout &lt;&lt; *it;
    }

}
</code></pre>
<pre><code>#include &lt;cstdlib&gt;
#include &lt;iostream&gt;
#include &quot;Manager.h&quot;
#include &quot;LVA.h&quot;

using namespace std;

int main(int argc, char** argv) {
    LVA lva;
    lva.SetEcts(6.0);
    lva.SetName(&quot;TestLVA&quot;);
    lva.SetStatus(LVA::DONE);
    lva.SetType(LVA::UE);
    Manager manager;
    manager.AddLva(lva);
    manager.print();
    return 0;
}
</code></pre>
<p>Das Programm compiliert ganz normal und lässt sich starten.<br />
Beim Aufruf von manger.print() wird auch ein Objekt herausgeschrieben, allerdings mit keinen werten. z.b. ects ist 0 statt 6.0... usw....</p>
<p>Was mache ich hier falsch?</p>
<p>lg</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/318387/member-fields-haben-keinen-wert</link><generator>RSS for Node</generator><lastBuildDate>Mon, 27 Jul 2026 09:25:47 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/318387.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 10 Jul 2013 20:59:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Member Fields haben keinen Wert on Wed, 10 Jul 2013 20:59:03 GMT]]></title><description><![CDATA[<p>Hallo Ich habe folgenden Code geschrieben und gerade keine Ahnung warum die member der LVA Objekte, welche im vector lvas gespeichert werden keinen Wert haben.</p>
<p>LVA.h</p>
<pre><code>#ifndef LVA_H
#define	LVA_H

#include &lt;string&gt;
#include &lt;iostream&gt;

using namespace std;

class LVA {
public:

    enum Status {
        DONE, IN_PROGRESS, TO_DO
    };

    enum Type {
        VO, VU, UE, SE
    };
    LVA();
    LVA(const LVA&amp; orig);
    virtual ~LVA();
    void SetEcts(double ects);
    double GetEcts() const;
    void SetType(Type type);
    Type GetType() const;
    void SetStatus(Status status);
    Status GetStatus() const;
    void SetName(string name);
    string GetName() const;
    friend ostream&amp; operator&lt;&lt;(ostream&amp; os, const LVA&amp; lva);
private:
    string name;
    Status status;
    Type type;
    double ects;

};

#endif	/* LVA_H */
</code></pre>
<p>LVA.cpp</p>
<pre><code>#include &quot;LVA.h&quot;

enum Status {
    DONE, IN_PROGRESS, TO_DO
};

enum Type {
    VO, VU, UE, SE
};

LVA::LVA() {
}

LVA::LVA(const LVA&amp; orig) {
}

LVA::~LVA() {
}

void LVA::SetEcts(double ects) {
    this-&gt;ects = ects;
}

double LVA::GetEcts() const {
    return ects;
}

void LVA::SetType(Type type) {
    this-&gt;type = type;
}

LVA::Type LVA::GetType() const {
    return type;
}

void LVA::SetStatus(Status status) {
    this-&gt;status = status;
}

LVA::Status LVA::GetStatus() const {
    return status;
}

void LVA::SetName(string name) {
    this-&gt;name = name;
}

string LVA::GetName() const {
    return name;
}

ostream&amp; operator&lt;&lt;(ostream&amp; os, const LVA&amp; lva) {
    os &lt;&lt; &quot;LVA: &quot; &lt;&lt; lva.GetName() &lt;&lt; &quot;, ECTS: &quot; &lt;&lt; lva.GetEcts() &lt;&lt; &quot;, STATUS: &quot; &lt;&lt; lva.GetStatus();
    return os;
}
</code></pre>
<p>Manager.h</p>
<pre><code>#ifndef MANAGER_H
#define	MANAGER_H

#include &lt;vector&gt;
#include &lt;iostream&gt;
#include &quot;LVA.h&quot;

using namespace std;

class Manager {
public:
    Manager();
    Manager(const Manager&amp; orig);
    virtual ~Manager();
    vector&lt;LVA&gt; GetLvas() const;
    void AddLva(LVA&amp; lva);
    void print();
private:
    vector&lt;LVA&gt; lvas;

};

#endif	/* MANAGER_H */
</code></pre>
<p>Manager.cpp</p>
<pre><code>#include &quot;Manager.h&quot;

Manager::Manager() {
}

Manager::Manager(const Manager&amp; orig) {
}

Manager::~Manager() {
}

vector&lt;LVA&gt; Manager::GetLvas() const {
    return lvas;
}

void Manager::AddLva(LVA&amp; lva) {
    lvas.push_back(lva);
}

void Manager::print() {
    for (vector&lt;LVA&gt;::iterator it = GetLvas().begin(); it != GetLvas().end(); ++it) {
        cout &lt;&lt; *it;
    }

}
</code></pre>
<pre><code>#include &lt;cstdlib&gt;
#include &lt;iostream&gt;
#include &quot;Manager.h&quot;
#include &quot;LVA.h&quot;

using namespace std;

int main(int argc, char** argv) {
    LVA lva;
    lva.SetEcts(6.0);
    lva.SetName(&quot;TestLVA&quot;);
    lva.SetStatus(LVA::DONE);
    lva.SetType(LVA::UE);
    Manager manager;
    manager.AddLva(lva);
    manager.print();
    return 0;
}
</code></pre>
<p>Das Programm compiliert ganz normal und lässt sich starten.<br />
Beim Aufruf von manger.print() wird auch ein Objekt herausgeschrieben, allerdings mit keinen werten. z.b. ects ist 0 statt 6.0... usw....</p>
<p>Was mache ich hier falsch?</p>
<p>lg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2338070</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2338070</guid><dc:creator><![CDATA[lion87]]></dc:creator><pubDate>Wed, 10 Jul 2013 20:59:03 GMT</pubDate></item><item><title><![CDATA[Reply to Member Fields haben keinen Wert on Wed, 10 Jul 2013 21:37:46 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">vector&lt;LVA&gt; GetLvas() const;
</code></pre>
<p>Lass dir ma eine const-Referenz anstatt einer Kopie zurueckgeben. Dann sind deine Iteratoren vielleicht gueltig. Oder du benutzt gleich lvas.begin()/end() anstatt ueber die Memberfunktion zu gehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2338073</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2338073</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Wed, 10 Jul 2013 21:37:46 GMT</pubDate></item><item><title><![CDATA[Reply to Member Fields haben keinen Wert on Wed, 10 Jul 2013 21:41:36 GMT]]></title><description><![CDATA[<p>hallo,<br />
thx für die antwort.<br />
Das scheint nicht das problem zu sein.</p>
<p>Sogar wenn ich direkt in der methode AddLva(LVA&amp; lva) nach dem push_back auf das element im vector zugreife sind die felder nicht gesetzt:</p>
<p>z.B.:</p>
<pre><code>void Manager::AddLva(LVA&amp; lva) {
    lvas.push_back(lva);
    cout &lt;&lt; lvas.at(0).GetEcts(); //liefert 0 anstatt 6.0

}
</code></pre>
<p><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="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2338075</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2338075</guid><dc:creator><![CDATA[lion87]]></dc:creator><pubDate>Wed, 10 Jul 2013 21:41:36 GMT</pubDate></item><item><title><![CDATA[Reply to Member Fields haben keinen Wert on Wed, 10 Jul 2013 21:50:56 GMT]]></title><description><![CDATA[<p>Okay, dein Kopierkonstruktor ist leeeeeeer.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2338076</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2338076</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Wed, 10 Jul 2013 21:50:56 GMT</pubDate></item><item><title><![CDATA[Reply to Member Fields haben keinen Wert on Wed, 10 Jul 2013 21:54:22 GMT]]></title><description><![CDATA[<p><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="😮"
    /> meine güte, den hab ich ja ganz übersehn, wurde von der IDE generiert.<br />
vielen dank <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="🙂"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2338079</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2338079</guid><dc:creator><![CDATA[lion87]]></dc:creator><pubDate>Wed, 10 Jul 2013 21:54:22 GMT</pubDate></item><item><title><![CDATA[Reply to Member Fields haben keinen Wert on Wed, 10 Jul 2013 21:56:56 GMT]]></title><description><![CDATA[<p>Du hast in Lva einen Copy-Konstruktor implementiert, der aber nichts tut =&gt; beim Einfügen mit push_back in den Vector verschwinden alle Daten. Die Konstruktoren un der Destruktor (auch noch virtual) sind so völlig sinnlos und können komplett entfernt werden Dann klappts vielleicht auch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2338081</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2338081</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Wed, 10 Jul 2013 21:56:56 GMT</pubDate></item><item><title><![CDATA[Reply to Member Fields haben keinen Wert on Wed, 10 Jul 2013 21:59:04 GMT]]></title><description><![CDATA[<p>Ja danke <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>Könnte vielleicht auch noch jemand auf das enum schauen?<br />
Habe ich das richtig implementiert? oder macht man sowas anders?<br />
Muss ich das enum wirklich in der .h UND in der .cpp datei definieren?</p>
<p>lg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2338082</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2338082</guid><dc:creator><![CDATA[lion87]]></dc:creator><pubDate>Wed, 10 Jul 2013 21:59:04 GMT</pubDate></item><item><title><![CDATA[Reply to Member Fields haben keinen Wert on Thu, 11 Jul 2013 02:12:12 GMT]]></title><description><![CDATA[<p>lion87 schrieb:</p>
<blockquote>
<p>Muss ich das enum wirklich in der .h UND in der .cpp datei definieren?</p>
</blockquote>
<p>Nein, musst du nicht.<br />
Tust du auch nicht.<br />
Du definierst im .h File den enum Typen <code>LVA::Status</code> , und im .cpp File einen weiteren enum Typen namens <code>Status</code> .<br />
Also 1x als Member der Klasse, und 1x im globalen Namespace.</p>
<p>Und das selbe nochmal mit <code>LVA::Type</code> / <code>Type</code> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2338091</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2338091</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Thu, 11 Jul 2013 02:12:12 GMT</pubDate></item></channel></rss>