002
03.05.2006, 15:48 Uhr
0xdeadbeef
Gott (Operator)
|
Ich hab mir mal den Spaß gemacht. Doku gibts allerdings keine
C++: |
#include <algorithm> #include <iostream> #include <iterator> #include <list> #include <string>
class buch { public: buch(std::string const &titel, double preis) : titel_(titel), preis_(preis) { }
std::string const &titel() const { return titel_; } double preis() const { return preis_; }
private: std::string titel_; double preis_; };
std::ostream &operator<<(std::ostream &os, buch const &b) { os << b.titel() << ":\t" << b.preis(); }
bool preisvergleich(buch const &b1, buch const &b2) { return b1.preis() < b2.preis(); }
void buchdruck(std::list<buch> const &ls) { std::copy(ls.begin(), ls.end(), std::ostream_iterator<buch>(std::cout, "\n"));
}
int main() { std::list <buch> buecher;
buecher.push_back(buch("Hamlet" , 9.99)); buecher.push_back(buch("Herr der Ringe" , 19.99)); buecher.push_back(buch("McBeth" , 10.99)); buecher.push_back(buch("Bravo" , 2.99)); buecher.push_back(buch("Grundlagen der C++-Programmierung", 35.99)); buecher.push_back(buch("Notgeile Schlampen 12" , 0.99));
std::cout << "unsortiert:" << std::endl;
buchdruck(buecher);
buecher.sort(preisvergleich);
std::cout << "\nsortiert:" << std::endl;
buchdruck(buecher); }
|
-- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra |