03. august 2006 - 17:15
Der er
11 kommentarer og 1 løsning
Ofte array med strings
Jeg har følgende variable under mine medlemsvariabler i en klasse: char Strings; Hvordan får jeg String initieret til "String1","String2" - kan dette gøres i konstruktoren eller headerfilen?
Annonceindlæg fra Conscia
03. august 2006 - 17:58
#1
lad det vaere: char **Strings; og lav det i constructor
03. august 2006 - 18:34
#2
Hvordan skal jeg så skrive i konstruktoren - følgende virker ikke? headerfil: char **Strings; konstruktor: Strings= {"String1", "String2"};
03. august 2006 - 19:31
#3
Er der nogle der har en løsning på problemet?
03. august 2006 - 20:01
#4
Man kan ikke lige løse det med char ** uden at have en mellem variabel (afaict) Hvis alle instancer skal deles om den samme mængde strenge kan man: #include <iostream> class X { public: static char *String[]; }; char *X::String[] = {"Ole", "Peter"}; int main() { X x; std::cout << x.String[1] << std::endl; }
03. august 2006 - 20:05
#5
Man kan også: #include <iostream> class X { public: X(); char **String; }; char *pop[] = {"Ole", "Hans"}; X::X() : String(pop) { } int main() { X x; std::cout << x.String[1] << std::endl; }
03. august 2006 - 20:08
#6
Det er alle klasseinstancer af en klasse der skal deles om tekststregende. Kan man så ikke ligge den under private data?
03. august 2006 - 20:12
#7
Jeg får en fejl ved linking ved det første eksempel, der siger at den allerede er defineret?
03. august 2006 - 20:16
#8
Har du static foran String? Static betyder i denne sammenhæng at den deles af alle X'ere og kan tilgåes uden object, så man kan også skrive X::String[1] Du kan godt lave String som private.
03. august 2006 - 20:30
#9
Jeg ved ikke lige hvad der var galt - men nu fungere det. Ligger du et svar?
03. august 2006 - 20:34
#10
Min ide var at lade construcutor: String = new charptr[2]; String[0] = "String1"; String[1] = "String2";
03. august 2006 - 20:38
#11
Du skal nok overveje at lave din Sting const... Jeg samler stadig ikke på point.
04. august 2006 - 21:10
#12
svar
Kurser inden for grundlæggende programmering