Avatar billede al_dair Nybegynder
19. februar 2002 - 16:33 Der er 5 kommentarer og
1 løsning

class Thread Design

Hey, boys........(and girls?)

Kig lige på det her midlertidig Class thread..

<koden her>
class Thread
{
  public:
      Thread();
      int Start(void * arg);
  protected:
      int Run(void * arg); //beskyttet
      static void * EntryPoint(void*);
      virtual void Setup(); // ønskes overridet
      virtual void Execute(void*);
      void * Arg() const {return Arg_;}
      void Arg(void* a){Arg_ = a;}
  private:
      THREADID ThreadId_;
      void * Arg_;

};
Thread::Thread() {}

int Thread::Start(void * arg)
{
  Arg(arg); brugernes data
  int code = thread_create(Thread::EntryPoint, ThreadId_);
  return code;
}

int Thread::Run(void * arg)
{
  Setup();
  Execute( arg );
}
...................
</slutusprutus>

virtual void Setup(); bliver kaldt efter Thread 
              bliver kørt, men før EXECUTE
              bliver kaldt. Spørgsmålet er:

Hvis jeg vil gerne override den her funktion, hvilken funk skal jeg kalde??

P.F.T
Avatar billede jpk Nybegynder
19. februar 2002 - 16:38 #1
Jeg forstår ikke helt dit spørgsmål..???

Hvis du vil override en funktion gør du det bare ved at implementere den i den klasse du nedarver.
Avatar billede al_dair Nybegynder
20. februar 2002 - 00:20 #2
Hvad er det du ikke forstår?
Override "virtual void Setup();" ?
Avatar billede wisen Nybegynder
20. februar 2002 - 08:31 #3
Du skal lave en ny klasse der nedarverver fra "Thread" og som implementerer "void Setup();"
Avatar billede wisen Nybegynder
20. februar 2002 - 08:34 #4
Alle de virtuelle metoder _kan_ du overstyre ved at implementere dem i en nedarvet klasse...
Avatar billede al_dair Nybegynder
20. februar 2002 - 14:29 #5
Fuldt fattet... Thankz
Avatar billede wisen Nybegynder
20. februar 2002 - 14:53 #6
Så lidt :)
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