Avatar billede tagryggen Nybegynder
06. marts 2003 - 08:37 Der er 7 kommentarer og
1 løsning

Overload functions

Hvordan skrives overload functions til at indsætte og fjerne data fra en kø, hvis << og >> skal benyttes??

Desuden skal jeg også overloade =
Avatar billede tosssen Nybegynder
06. marts 2003 - 09:05 #1
Du kan ikke overloade << og >> inde fra din klasse de skal overloades globalt. = kan du nemt overloade inde fra din klasse. Se her

http://www.cs.wisc.edu/~hasti/cs368/CppTutorial/NOTES/OVERLOAD.html#ex1
http://www.juicystudio.com/tutorial/cpp/operator.html
http://websrv.cs.fsu.edu/~myers/cop3330/notes/overload.html
Avatar billede hsloth Novice
06. marts 2003 - 11:24 #2
// Queue.h
class Queue
{
public:
    Queue& operator<<(int theElement );
    Queue& operator>>(int& theExtract);
};

//Queue.cpp
Queue& Queue::operator<<( int theElement )
{
  // Insert element in queue
  return *this;
}
Queue& Queue::operator>>( int& theExtract)
{
  // theExtract = .....
  return *this;
}

main()
{
  Queue q;
  q << 3 << 4;

  int y;
  q >> y;
}
Avatar billede hsloth Novice
06. marts 2003 - 13:51 #3
tossen>
Som du kan se er der ingen problemer med at overloade ">>", "<<" operatorerne
Avatar billede tosssen Nybegynder
06. marts 2003 - 14:26 #4
Det har du ret i. Jeg læste de artikler jeg har linket til lidt for overfladisk, så jeg missede pointen ;-)
Avatar billede narrr Nybegynder
06. marts 2003 - 19:38 #5
Jeg kan ikke se hvad I har skrevet.. Hvorfor?
Avatar billede kube Nybegynder
07. marts 2003 - 16:37 #6
ja hva er det for noget knald
Avatar billede arne_v Ekspert
07. marts 2003 - 18:53 #7
Database problem - se "Sidste ny fra E".
Avatar billede hsloth Novice
08. marts 2003 - 13:37 #8
Jeg prøver lige igen :

class Queue
{
public:
  Queue& operator<<(int theRhs);
  Queue& operator>>(int& theRhs);
  // Copy constructor bliver automatisk brugt ved assignments
  Queue( const Queue& theRhs);

private:
  // Kø-struktur
};

Queue& Queue::operator<<(int theRhs)
{
  // indsæt theRhs i køen

  return *this;
}

Queue& Queue::operator>>(int& theRhs)
{
  // theRhs = <ekstrakt fra kø>

  return *this;
}

Queue::Queue( const Queue& theRhs)
{
  // Kopier indholdet af køen
}


int main()
{
  Queue q, r;
  int x,y;

  q << 3 << 4;
  r = q;
  q >> x >> y;
 
  return 0;
}
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