Avatar billede the_saint Nybegynder
14. september 2005 - 11:06 Der er 3 kommentarer og
1 løsning

Global klasse

Hej Eksperter :P

Er igang med et c++ projekt, hvor vi har flere forme ...
Samt nogle klasser ...

Men, Alle mine forme skal kunne få dataerne fra klassen, og alle forme skal kunne hente data fra de forskellige forme ... :)
Altså, alt skal være tilgængeligt over det hele ...

Eks.
Min fil som indeholder klassen hedder usrClass.cpp
Har følgende 2 forme:

cppMain.h
cppMain.cpp
cppLogin.h
cppLogin.cpp

Hvilke filer skal inkluderes hvor? eller hvordan gør jeg så jeg kan hente data fra de forskellige forme og klasser i alle forme? :)

Håber i forstår ;)

På forhånd tak :)
Avatar billede arne_v Ekspert
14. september 2005 - 11:52 #1
hvis hver .cpp fil inkluderer alle .h filer så kender al kode alle klasser

og static metoder kan derfor bare uden videre kaldes

ikke static metoder kræver imidlertid en instans af klasserne og det kan godt
være mere kompliceret at få det - men ud fra ovenstående korte beskrivelse
er det svært at gå mere i detaljer

måske kunne du kigge lidt på singleton pattern
Avatar billede the_saint Nybegynder
14. september 2005 - 11:56 #2
Nu har jeg inkluderet alle h filer i alle cpp filer :)
Men, hvis jeg så i min cppMain.cpp opretter min klasse..
Bruger curUser; (Min klasse hedder Bruger)
hvordan kan jeg så bruge den fra cppLogin.cpp? :)
Avatar billede bertelbrander Novice
14. september 2005 - 20:03 #3
Lad os lige få begreberne på plads.
class X { };
X x;
X *px;
Her er X en class og x et object af typen X.

Hvis du i A.h definerer en class A og i A.cpp laver en instans af denne class kaldet a og du ønsker at tilgå dette object i b.cpp skal du have en extern erklæring af objectet a i A.h:
extern A a;

I a.cpp skal du stadig have en
A a;

Og b.cpp skal inkludere a.h

Dette forudsætter at du kun har et object af typen a (som skal kunne tilgåes af andre end a.cpp).
Avatar billede the_saint Nybegynder
20. september 2005 - 11:06 #4
Gjorde klassen medlem af min Main form.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester





White paper
Tidsbegrænset kampagne: Overvejer du at udskifte eller tilføje printere i din forretning? Vi kan tilbyde én eller flere maskiner gratis