Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme.

"public:"-Variable in Klasse wird nicht gesehen

Diskussion: "public:"-Variable in Klasse wird nicht gesehen im Forum Code Kitchen, in der Kategorie Software Home; Anzeige hallo zusammen, ich war bisher der Meinung, dass Variablen, die im *.h File einer Klasse unter "public:" deklariert werden ...

Antwort
Alt 20.04.04, 12:53   #1 (permalink)
 
Registriert seit: 03.04.04
D.Mon Leistung: Facit NTK
Likes: 0
Standard "public:"-Variable in Klasse wird nicht gesehen

Anzeige

hallo zusammen,

ich war bisher der Meinung, dass Variablen, die im *.h File einer Klasse unter "public:" deklariert werden von überall her sichtbar und verwendbar sind.
Allerdings klappt das bei mir nicht.

hier meine Headerdatei CKlasse.h:

Code:
class CKlasse                                                                                                                                                                          
{                                                                                                                                                                                      
    public:                                                                                                                                                                            
        // Variablen                                                                                                                                                                   
        int position;                                                                                                                                                                  
        // Methoden                                                                                                                                                                    
        void methode1();                                                                                                                                                                 
        bool methode2();                                                                                                                                                                 
};
und hier die Implementierung in CKlasse.cpp:
Code:
#include<iostream.h>                                                                                                                                                                   
#include"CKlasse.h"                                                                                                                                                                     
                                                                                                                                                                                       
void methode1()                                                                                                                                                                          
{                                                                                                                                                                                      
    srandom(time(NULL));                                                                                                                                                               
    position = (random()%6)+1;                                                                                                                                                         
}
das wird bei mir nicht kompiliert (g++).
Ich erhalte die Fehlermeldung:
Code:
g++ -Wall -ansi  -c classes/CKlasse.cpp
classes/CKlasse.cpp: In function `void methode1()':
classes/CKlasse.cpp:15: error: `position' undeclared (first use this function)
classes/CKlasse.cpp:15: error: (Each undeclared identifier is reported only once 
   for each function it appears in.)
make: *** [CKlasse.o] Error 1
Kann mir jemand sagen, woran das liegt ?
D.Mon ist offline   Mit Zitat antworten
Alt 20.04.04, 13:34   #2 (permalink)
 
Registriert seit: 16.04.04
Zirias Leistung: Facit NTK
Zirias eine Nachricht über ICQ schicken Zirias eine Nachricht über AIM schicken Zirias eine Nachricht über Yahoo! schicken
Likes: 0
Standard

Du musst bei der Implementierung schon angeben, zu welcher Klasse die Methode gehören soll, also
void CKlasse::methode1() {
}
(ich glaube die Referenzierung war in C++ der ::, habe zu lange nichts damit gemacht *g*)
ansonsten definierst du eine ganz normale Funktion, die nichts mit der Klasse zu tun hat. Außerdem können ja verschiedene Klassen Methoden gleichen Namens enthalten.
Übrigens solltest du deine Member-Variablen so weit wie möglich private deklarieren, im Zweifel lieber Zugriffsmethoden schreiben. Diese lassen sich nämlich anpassen, wenn du die interne Struktur mal veränderst. Solange nur die Methoden der Klasse auf die Member-Variablen zugreifen gibt es keinen Grund für "public".

Greets, Ziri
Zirias ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 20.04.04, 13:52   #3 (permalink)
Themenstarter
 
Registriert seit: 03.04.04
D.Mon Leistung: Facit NTK
Likes: 0
Standard

oh mann - ja natürlich, du hast recht.
ich werde das gleich versuchen -

ist mein erster Versuch selber mal was mit Klassen zu machen

Vielen Dank für die Hilfe
D.Mon ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Code Kitchen » "public:"-Variable in Klasse wird nicht gesehen
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Java - Variable nicht angegeben? tanj Code Kitchen 5 20.11.07 20:09
Klasse definiert - funktionert aber nicht jami (Web-) Design und webbasierte Sprachen 16 22.02.07 18:07
Schon mal so ein Soundfile gesehen ? sartre Music- & Filmbox 2 23.07.05 22:52
suche MÄNNCHEN hat es jemand gesehen?? Easyrider (Web-) Design und webbasierte Sprachen 0 12.03.04 22:24
Geist gesehen Chris Linux/UNIX 10 13.01.03 13:07


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61