operator>>() for VVContact
In //8 of the previous code section, a VVContact instance was initialized by shifting out from an RWDBReader instance. This is an important technique and warrants closer examination. Line //8 above actually invokes a global overloading of the operator>>() function involving an RWDBReader on the left and a VVCustomer on the right. The code for this function, found in conrep.cpp, follows:
 
RWDBReader&
operator>>(RWDBReader& aReader, VVContact& aContact) {
RWCString name, address, city, state, zip, phone;
unsigned long id;
aReader >> name >> id >> address
>> city >> state >> zip >> phone;
aContact = VVContact(name, id, address,
city, state, zip, phone);
return aReader;
}