Avatar billede clone Nybegynder
15. oktober 2002 - 21:52 Der er 5 kommentarer og
1 løsning

Dynamisk allokering af array af pointere til objekter, hvordan?

Jeg skal lave en dynamisk allokering af et array bestående af pointere til objekter, men kan ikke lige hitte ud af hvordan det skal gøres...?

Følgende eksempel gør det med et statisk array med plads til 10 objekt pointere:

class Person
{
  char *m_pName;
public: 
  MyClass(char *pName) { m_pName = pName; }
  void PrintName() { printf("%s\n", m_pName); }
};

void main()
{
  Person p1("Hans"), p2("Anders");
  Person *p[10];

  p[0] = &p1;
  p[1] = &p2;

  p[0]->PrintName();
  p[1]->PrintName();
}

Problemet er bare, at jeg ønsker en dynamisk allokering af p, således at jeg runtime kan bestemme, hvor mange pointere der skal være plads til.
Avatar billede clone Nybegynder
15. oktober 2002 - 21:53 #1
Constructoren skal selvfølgelig hedde Person - ikke MyClass.
Avatar billede mbulow Nybegynder
15. oktober 2002 - 22:11 #2
int main()
{
  Person p1("Hans"), p2("Anders");
  Person **ppArray;

  ppArray = new Person*[10];

  ppArray[0] = &p1;
  ppArray[1] = &p2;

  ppArray[0]->PrintName();
  ppArray[0]->PrintName();

  delete [] ppArray;
}
Avatar billede clone Nybegynder
15. oktober 2002 - 22:25 #3
Tak for hjælpen. Det var jo åbenbart ganske simpelt.
Avatar billede clone Nybegynder
15. oktober 2002 - 22:27 #4
Så kan du måske også lige forklare hvordan jeg accepterer svaret og giver dig de 20 point...? Der er lavet om på det siden sidste jeg brugte Eksperten.
Avatar billede mbulow Nybegynder
15. oktober 2002 - 23:41 #5
UPS :) Min fejl... Det er ret svært for dig at acceptere et svar som jeg ikke har givet dig :) (Det var jo kun en kommentar)

Så her er svaret :) hehe
Avatar billede mbulow Nybegynder
15. oktober 2002 - 23:44 #6
Men ud over det ved jeg nu ikke hvordan man accepterer et svar... Jeg har endnu aldrig selv haft oprettet et spørgsmål :)

Er her nemlig kun fordi jeg synes det er et fedt forum, og jeg elsker at hjælpe andre når jeg kan :) (Og måske også nogle gange forvirre)
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