Avatar billede kernelx Juniormester
04. maj 2005 - 15:14 Der er 8 kommentarer og
1 løsning

return med char*

Hi,

er det muligt at skrive en method i C++, som returnerer en string, hvor man i forvejen ikke ved, hvor lang den er?

class Test
{
    public:
        char* getString ()
        {
            return <string-variable>;
        }

}

noget i denn stil?

eller er det muligt at returnere en class?

class TestClass
{ }
...
class ReturnTest
{
    public:
        TestClass methodXYZ (int i)
        {
            return <objekt-fra-ReturnTest-class>;
        }
}

...

indtil nu har jeg altid kun returneret med int :-)
saa er det muligt at lave det med strings, eller med en selv-lavet class?

(eventuelt med et lille eksempel?)

med venlig hilsen
KernelX
Avatar billede arne_v Ekspert
04. maj 2005 - 15:22 #1
TestClass *methodXYZ (int i)
        {
            return new TestClass(i);
        }

virker fint
Avatar billede arne_v Ekspert
04. maj 2005 - 15:23 #2
char* getString ()
        {
            char *s = new char[10];
            strcpy(s,"abc");
            return s;
        }

ligeså
Avatar billede arne_v Ekspert
04. maj 2005 - 15:24 #3
Men

      char* getString ()
        {
            char s[10];
            strcpy(s,"abc");
            return s;
        }

duer ikke
Avatar billede kernelx Juniormester
04. maj 2005 - 15:29 #4
ja, jeg har også tænkt at arbejde med pointer ... og reservere memory osv.
mange tak!!!

husk at skrive et eller andet som svar!
Avatar billede arne_v Ekspert
04. maj 2005 - 15:40 #5
svar
Avatar billede arne_v Ekspert
04. maj 2005 - 15:40 #6
og husk at deallokere
Avatar billede kernelx Juniormester
04. maj 2005 - 15:43 #7
skal man allerede i starten sige, hvor stor arrayet skal være?

char* getString ()
        {
            char *s;
            s = new char[10];
            strcpy(s,"abc");
            return s;
        }

sådan?
Avatar billede arne_v Ekspert
04. maj 2005 - 16:00 #8
når du laver new skal du angive størrelsen

ellers så skal du bruge noget mere dynamisk som f.eks. STL string
Avatar billede krismort Nybegynder
05. maj 2005 - 15:10 #9
std::string getString() {
return std::string( "somestring" );
}
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



Seneste spørgsmål Seneste aktivitet
I går 17:10 Joomla artikler Af rmadsen80 i CMS-systemer
I går 16:54 Printervalg til kontor Af tumben i Printere
I går 15:08 Http client med X509Certificate2 Af joki i C#
I går 13:02 Hjemmenetværk Af Andfer i LAN/WAN
I går 11:17 Chrombook Af lurup i Andre styresystemer