Du bist nicht angemeldet.

Werbeanzeige

Anonymous

unregistriert

1

05.01.2009, 18:41

get und set

Hallo,
ich will, dass ich Zugriff auf meine privaten Membervariablen haben kann. Leider komm ich mit get und set noch nicht so richtig klar. Kann einer mir sagen aws da falsch ist?

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
class CPlayer
{ 
private: 

    char *m_Spielername; 
    float m_Versuche; 
    long m_Punkte; 

public: 

    void set (char *m_Name) 
    { 
        m_Name = "Luca";
        m_Spielername = m_Name; 
        m_Versuche = 0; 
        m_Punkte = 0; 
    } 

    char get () 
    { 
        return *m_Spielername; 
    } 
};


fehler kommen keine, doch zugriff zu den variablen hab ich nicht.

2

05.01.2009, 18:45

Nimm lieber strings. char Arrays kann man nicht einfach so zuweisen. Dazu gibt es aber so Funktionen wie strcpy, z.B.
http://www.cplusplus.com/reference/clibrary/cstring/strcpy.html
http://www.cplusplus.com/reference/string/string/
Lieber dumm fragen, als dumm bleiben!

3

05.01.2009, 19:00

Zitat

doch zugriff zu den variablen hab ich nicht.

Was für einen Zugriff willst du denn? (Bitte gleich eine verstehbare Erklärung)

Ach ja, und wie Jonathan_Klein sagte, ich würde dir auch strings empfehlen!

Anonymous

unregistriert

4

05.01.2009, 19:04

Zitat von »"defaultplayer^^

Zitat

doch zugriff zu den variablen hab ich nicht.

Was für einen Zugriff willst du denn? (Bitte gleich eine verstehbare Erklärung)

Ach ja, und wie Jonathan_Klein sagte, ich würde dir auch strings empfehlen!


damit ich die privaten ariablen wie public varibalen verwenden kann.

außerdem stürtzt das programm ab, wenn man mit einem string nen space macht^^

Anonymous

unregistriert

5

05.01.2009, 19:05

Spiri
Dann zeig doch mal endlich den aktuellen Code du Vollholz.

6

05.01.2009, 19:06

Zitat

damit ich die privaten ariablen wie public varibalen verwenden kann.

Das hat damit doch überhaupt nichts zu tun. Weil sie privat sind verwendest du ja die set und get Methoden!

Anonymous

unregistriert

7

05.01.2009, 19:08

Zitat von »"Coders-Square"«

Spiri
Dann zeig doch mal endlich den aktuellen Code du Vollholz.


Der steht im erstem beitrag, hier nochmal nur für dich:^^

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream> 
class CPlayer 
{ 
private: 

    char *m_Spielername; 
    float m_Versuche; 
    long m_Punkte; 

public: 

    void set (char *m_Name) 
    { 
        m_Name = "Luca"; 
        m_Spielername = m_Name; 
        m_Versuche = 0; 
        m_Punkte = 0; 
    } 

    char get () 
    { 
        return *m_Spielername; 
    } 
};

Anonymous

unregistriert

8

05.01.2009, 19:08

Zitat von »"defaultplayer^^

Zitat

damit ich die privaten ariablen wie public varibalen verwenden kann.

Das hat damit doch überhaupt nichts zu tun. Weil sie privat sind verwendest du ja die set und get Methoden!


ja aber ich hab immer noch keinen zugriff darauf!

David_pb

Community-Fossil

Beiträge: 3 887

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

9

05.01.2009, 19:09

Zitat von »"Spiri"«


außerdem stürtzt das programm ab, wenn man mit einem string nen space macht^^


Wirklich? Mach mal ein Beispiel?!
@D13_Dreinig

10

05.01.2009, 19:11

Zitat

ja aber ich hab immer noch keinen zugriff darauf!

Brauchst du auch nicht. Du verwendest ja set und get!

C-/C++-Quelltext

1
2
3
CPlayer p;
p.setPlayername("hanswurst");
string name = p.getPlayername();

Werbeanzeige