Re: ISO standards
 
In article <13ppmlo5j1f1qac@corp.supernews.com>, Jeffrey Baker
<tbirdjb2@earthlink.net> wrote:
The vector needs a new object for each 10th place  to maintain its data and
show it.
   Does it?  consider:
// Tabulator.hpp
#ifndef TABULATOR_HPP_INCLUDED
#define TABULATOR_HPP_INCLUDED
#include <vector>
class Tabulator
{
    std::vector<int>  data;
public:
    typedef std::vector<int>::const_iterator iterator;
    // contents need sorting via sort() after a sequence
    // of insert()'s are called. [not each insert()]
    void sort();
    // the sequence [begin(i),end(i) ) provides contents
    // of bin  i.
    iterator begin(int i)const;
    iterator end(int i)const;
    void insert(int x);
};
#endif
// tabulator.cp  - details...
#include "tabulator.hpp"
#include <algorithm>
void Tabulator::sort()
{
    std::sort(data.begin(),data.end());
}
Tabulator::iterator Tabulator::begin(int i) const
{
    return std::lower_bound(data.begin(),data.end(),10*i);
}
Tabulator::iterator Tabulator::end(int i) const
{
    return std::upper_bound(data.begin(),data.end(),10*i+9);
}
void Tabulator::insert(int x)
{
    data.push_back(x);
}
// main.cp
#include "tabulator.hpp"
#include <algorithm>
#include <iterator>
#include <iostream>
int data[] =
{1,50,98,9,76,2,88,22,49,52,0,89,54,25,4,56,97,5,40,44,17,30,75,6,33,7,3
6,10,58,38,65,-1};
int main()
{
    Tabulator tab;
    for(int *p = data;*p>=
    0;++p)
       tab.insert(*p);
    tab.sort();
    for(int i=0;i!=10;++i)
    {
       std::cout << "values in bin " << i << '\n';
       std::copy(tab.begin(i),tab.end(i),
          std::ostream_iterator<int>(std::cout," "));
       std::cout << '\n';
    }
}
// end code
Looks OOP to me the user of Tabulator should care less about the
implementation details and is provided only specified operations on its
contents.
-- 
      [ See http://www.gotw.ca/resources/clcm.htm for info about ]
      [ comp.lang.c++.moderated.    First time posters: Do this! ]