bool Del ( const CBase & x ){ for( unsigned int i = 0; i < col.data.size(); i++ ) if( (*col.data[i]).Type() == x.Type() && (*col.data[i]).Cmp(&x) ){ col.data.erase(col.data.begin() + i); return true; } return false; }
bool Add ( const CBase & x ){ for( unsigned int i = 0; i < col.data.size(); i++ ) if( (*col.data[i]).Type() == x.Type() && (*col.data[i]).Cmp(&x) ) return false; if( x.Type() == "A" ){ CRecA * a = new CRecA(dynamic_cast<const CRecA &>(x)); col.data.push_back(a); } else if( x.Type() == "AAAA" ){ CRecAAAA * a = new CRecAAAA(dynamic_cast<const CRecAAAA &>(x)); col.data.push_back(a); } else if( x.Type() == "MX" ){ CRecMX * a = new CRecMX(dynamic_cast<const CRecMX &>(x)); col.data.push_back(a); } return true; }