Hallo, ik heb het volgende probleempje.
Ik heb een klasse product. En voor product heb ik de operators < geoverload.
Dus als ik nu een list van producten zou maken, dan kan eenvoudig via de ingebouwde sort de lijst sorteren. Nu heb ik echter geen list van producten, maar van pointers naar producten.
En op pointers naar producten kan je de < operator niet overloaden, want die bestaat al (vergelijkt geheugenadressen). Is er een manier om dit toch te doen?
Stukje code:
Iemand enig idee hoe ik dit toh kan laten werken?
bool operator<(Product*, Product*); mag immers niet.
Sorry, maar ben nieuw met c++.
Ik heb een klasse product. En voor product heb ik de operators < geoverload.
Dus als ik nu een list van producten zou maken, dan kan eenvoudig via de ingebouwde sort de lijst sorteren. Nu heb ik echter geen list van producten, maar van pointers naar producten.
En op pointers naar producten kan je de < operator niet overloaden, want die bestaat al (vergelijkt geheugenadressen). Is er een manier om dit toch te doen?
Stukje code:
C++:
1
2
3
4
5
6
7
8
9
| Product::operator<(const Product prod){return naam < prod.naam;} // naam is private member van Product list<Product> lijst; // voeg wat elementen toe; lijst.sort(); // => werkt. list<Product*> lijst2; //voeg wat elementen toe lijst.sort(); // geeft uiteraard niet de gewenste ressultaten terug; |
Iemand enig idee hoe ik dit toh kan laten werken?
bool operator<(Product*, Product*); mag immers niet.
Sorry, maar ben nieuw met c++.