Consider the following example:
//main.cpp - main file
#include <iset.h>
#include <iostream.h>
#include "person.h" //person.h from the previous examples
typedef ISet <Person> AddressList;
IBoolean noPhone(Person const& P,void*) //predicate function
{
return P.GetTNumber()=="x";
}
void main()
{
AddressList business;
Person A("Peter Black","714-50706");
Person B("Carl Render","714-540321");
Person C("Sandra Summers","x");
Person D("Mike Summers","x");
business.add(A);
business.add(B);
business.add(C);
business.add(D);
business.add(A); //Person A is added for the second time
cout << "\nThe set now contains " << business.numberOfElements()
<<" entries!\n";
business.removeAll(noPhone); //Person B is removed from the set
cout << "\nThe set now contains " << business.numberOfElements()
<<" entries!\n";
}
If you run the program, the set will only contain 2 elements as a result of the the remove function. Try modifying the program so that all persons with a telephone number are removed when the program is run.
![]()
Introduction
to the Collection Classes
Adding
Elements
Removing
Elements
Replacing
Elements
![]()
Class Template Naming
Conventions
Possible
Implementation Paths
Choosing One of the
Provided Implementation Variants
Adding an Element to
a Collection
Taking Advantage of
the Abstract Class Hierarchy
Using Collection
Notification
Instantiating the
Collection Classes
Troubleshooting Problems
while Using the Collection Class Library