anoniem Geplaatst: 23 mei 2002 Delen Geplaatst: 23 mei 2002 zoals topic al zegt, wil ik 2 objecten vergelijken in C++, maar weet niet hoe het moet. Iemand een idee? grtz, plors Quote Link naar reactie
anoniem Geplaatst: 24 mei 2002 Auteur Delen Geplaatst: 24 mei 2002 Overloading van de operator== Quote Link naar reactie
anoniem Geplaatst: 24 mei 2002 Auteur Delen Geplaatst: 24 mei 2002 hmm, die manier ken ik jah, maar is er geen envoudiger manier? in een van die STL ofzo? iets van equals of compare( object1, object2 ) ? Quote Link naar reactie
anoniem Geplaatst: 27 mei 2002 Auteur Delen Geplaatst: 27 mei 2002 In C++ kan je volgens mij de functie equals gebruiken. if object1.equals(object2){ etc... } Werkt wel in Java volgens mij, dus zal het ook wel in C++ kunnen. nb. Voor eigen object zal de functie wel moeten overiden, omdat alleen jij kan bepalen wanneer bepaalde objecten van eigen makelij aan elkaar gelijk zijn... Greetz, Taz Quote Link naar reactie
anoniem Geplaatst: 27 mei 2002 Auteur Delen Geplaatst: 27 mei 2002 Dan moet je 'm dus wel implementeren dat is in C++ nu net de operator== :D Je moet zelf definieren op welke wijze objecten gelijk zijn aan elkaar. Ik zal wel even kijken voor wat voorbeeldcode. Kijk hier eens http://www.codeguru.com/cpp/tic/tic0128.shtml Quote Link naar reactie
anoniem Geplaatst: 27 mei 2002 Auteur Delen Geplaatst: 27 mei 2002 Het overloaden van de == operator is slechts een andere manier van vergelijken van custom objecten. Het overriden van de method equals doet hetzelfde, maar is niet hetzelfde als het overloaden van de == operator... Greetz, Taz Quote Link naar reactie
anoniem Geplaatst: 27 mei 2002 Auteur Delen Geplaatst: 27 mei 2002 [quote:344e6c3a3b="Tazzie"]...Het overriden van de method equals doet hetzelfde, maar is niet hetzelfde als het overloaden van de == operator... Greetz, Taz[/quote:344e6c3a3b] Wat is dan het verschil? IMHO zijn de operator== en equals() method verschillende namen voor eenzelfde abstractie. In C++ is het volgens mij (maar ik kan me vergissen, 't is al wat langer geleden dat ik in C++ geprogrammeerd heb) niet gebruikelijk om een equals() method te implementeren, maar juist de operator==. Als dit wel het geval is, kun je me misschien wat voorbeelden geven ? (URL/source/etc.). Ik ben benieuwd ! Quote Link naar reactie
anoniem Geplaatst: 27 mei 2002 Auteur Delen Geplaatst: 27 mei 2002 Een en ander is ook een kwestie van voorkeur. De method is equals() is een method van het toplevel object (waar alles van wordt afgeleid), de == operator is, de naam zegt het al, een operator die in hetzelfde ruitje thuishoort als +,-,/,*, ^ etc en geen onderdeel is van een object, maar onderdeel is van de programmeertaal zelf. Over het algemeen wordt met klem aangeraden het overloaden van operators te minimaliseren. Hoewel een erg krachtige functie van de taal, is het althans bij ons niet gebruikelijk. Overriden van method daarentegen wel. Kan je ff niet zo snel een berg voorbeelden geven. Zal wel eens zoeken... Greetz, Taz Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen