/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
Simpel operations overload
Fra : Jimmi W.


Dato : 17-06-03 13:41

Hej

Jeg vil gerne overloade + til at kunne lægge to char samen og retuner en
char*.
dvs. at hvis jeg skrev "cout << 'a' + 'd' << endl;" skulle der gerne komme
ad ud.


Jeg havde forstillet mig noget i stil med dette her, men det fungere ikke:

char* operations_overload:erator+ (char a1, char a2) {
char* temp = new char[2];
temp[0] = a1;
temp[1] = a2;
return (temp);
}

gode råd modtages gerne.

MVH.

--
Jimmi Wolff
Stud ing.
51727099



 
 
Igor V. Rafienko (17-06-2003)
Kommentar
Fra : Igor V. Rafienko


Dato : 17-06-03 14:16

[ Jimmi W. ]

[ ... ]

> Jeg vil gerne overloade + til at kunne lægge to char samen og
> retuner en char*.


I og med at op+(char,char) er allerede definert i språket, blir dette
ikke mulig.


> dvs. at hvis jeg skrev "cout << 'a' + 'd' << endl;" skulle der gerne
> komme ad ud.


Hvordan skal kompilatoren vite at man skal bruke din versjon av op+
heller enn den som allerede eksisterer?


> Jeg havde forstillet mig noget i stil med dette her, men det fungere
> ikke:
>
> char* operations_overload:erator+ (char a1, char a2) {
> char* temp = new char[2];
> temp[0] = a1;
> temp[1] = a2;
> return (temp);
> }


Eksempelet ditt illustrerer et annet problem -- denne operatoren
kombinert med

std::cout << 'a' + 'b';

.... vil lekke minne.





ivr
--
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste