Avatar billede krukken Juniormester
24. september 2004 - 22:55 Der er 5 kommentarer og
1 løsning

Forskellige retur type.

Jeg sidder og arbejder med noget c++-kode.

I den forbindelse er jeg støt på et problem. Jeg søger efter nogle værdier i en vektor, og denne værdi bliver returneret. Problemet er bare at type både kan være at typen int og string. Hvordan laver man en funktion som kan returnere forskellige typer?

Jeg arbejder på Linux Redhat 9.0
Avatar billede arne_v Ekspert
24. september 2004 - 22:58 #1
Det kan du ikke.

Men du kan lave en funktion som returnerer en pointer til void, hvilket
betyder en pointer til hvad som helst.

Og du kan returnere en union som indeholder alle de forskellige typer.
Avatar billede arne_v Ekspert
24. september 2004 - 22:59 #2
Ved du hvad type det er ?

Ellers skal du jo returner enten en struct med type og pointer til void
eller en struct med type og union.
Avatar billede krukken Juniormester
25. september 2004 - 00:47 #3
Det kan man nu godt:-) jeg har nemlig fundet ud at det. Det handler simpelthen om at få lavet en rækker overload at assignment operatoren.

Ved du tilgengæld hvordan man opretter en vector under de private data, og hvordan man returnere denne fra en funktion?
Avatar billede arne_v Ekspert
25. september 2004 - 01:05 #4
Assignment operatoren har da intet med at lade en funktion returnere
forskellige typer.

Du kan ved at overload assignment operatoren assigne mange forskellige
typer til din klasse.

Men jeg kan ikke se sammenhængen.

Og man laver vel en metode som returnerer et private felt ens uanset om det
er en int eller en vector.
Avatar billede krukken Juniormester
25. september 2004 - 01:07 #5
Hmm - så lykkes det vist også:-)
Avatar billede krukken Juniormester
25. september 2004 - 01:07 #6
Er det okay jeg tager pointene og lukker spørgsmålet? Ellers må du jo lige poste en kommentar.
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