30#if defined (__IBMCPP__)
34# ifndef _RWSTD_NO_IMPLICIT_INCLUSION
35# define _RWSTD_NO_IMPLICIT_INCLUSION
61 std::cout << std::setw (12) << std::left <<
cityName
62 << std::setw (12) << std::left <<
"Megapolis"
63 << std::setw (5) << std::right
64 << std::fixed << std::setprecision (1)
88 std::cout << std::setw (12) << std::left <<
cityName
89 << std::setw (12) << std::left <<
"Metropolis"
90 << std::setw (5) << std::right
91 << std::fixed << std::setprecision (1)
110 return y->population <
x->population;
120 std::vector<Megapolis*, std::allocator<Megapolis*> > cities;
122 cities.push_back (
new Megapolis (
"Calcutta", 12));
123 cities.push_back (
new Megapolis (
"Tokyo", 26.8));
124 cities.push_back (
new Megapolis (
"Delhi", 10));
125 cities.push_back (
new Megapolis (
"Bombay", 15));
127 cities.push_back (
new Metropolis (
"Cairo", 12));
128 cities.push_back (
new Metropolis (
"New York", 7.5));
129 cities.push_back (
new Metropolis (
"Los Angeles", 3.7));
130 cities.push_back (
new Metropolis (
"Jakarta", 8.2));
134 std::cout <<
"City Type Population (millions)\n";
135 std::cout <<
"----------- ----------- ---------------------\n";
137 std::for_each (cities.begin(), cities.end(),
140 std::cout <<
"\nAfter sorting...\n\n";
143 std::stable_sort (cities.begin (), cities.end (),
144 std::greater<Megapolis*>());
146 std::for_each (cities.begin (), cities.end (),
150 while (!cities.empty ()) {
151 delete cities.back ();
bool operator<(const Megapolis *ptr_)
Megapolis(const char *s="", double n=0)
virtual std::size_t byPopulation() const
Metropolis(const char *s="", double n=0)
virtual std::size_t byPopulation() const
const Megapolis * first_argument_type
const Megapolis * second_argument_type