diff --git a/phoebook/CBookItems.cpp b/phoebook/CBookItems.cpp index f75f076..1f013ac 100644 --- a/phoebook/CBookItems.cpp +++ b/phoebook/CBookItems.cpp @@ -8,7 +8,7 @@ void CBookItems::CreateNewItem(string sFirstName, string sLastName, string sPhon void CBookItems::CreateNewItem(string sFirstName, string sLastName, string sPhoneNumber1, string sPhoneNumber2) { - BookItem* spaceItem = new BookItem; + BookItem* spaceItem = new BookItem; spaceItem->_sFirstName = sFirstName; spaceItem->_sLastName = sLastName; spaceItem->_sPhoneNumber1 = sPhoneNumber1; @@ -33,7 +33,7 @@ int CBookItems::SetNewValueToItem(string sFirstName, string sLastName, string sP { if (nNumOfItem == i) { - BookItem spaceItem; + BookItem spaceItem; spaceItem._sFirstName = sFirstName; spaceItem._sLastName = sLastName; spaceItem._sPhoneNumber1 = sPhoneNumber1; @@ -72,9 +72,9 @@ int CBookItems::GetItem(int nNumOfItem, string& sFirstName, string& sLastName, s } } -const CBookItems::BookItem& CBookItems::GetItem(int nNumOfItem) +const CBookItems::BookItem& CBookItems::GetItem(int nNumOfItem) { - if (nNumOfItem < 0 || nNumOfItem > _aItems.size()) return CBookItems::BookItem(); + if (nNumOfItem < 0 || nNumOfItem > _aItems.size()) return CBookItems::BookItem(); return _aItems[nNumOfItem]; } @@ -309,7 +309,7 @@ int CBookItems::LoadItems(string sNameOfFile) } -std::ostream& operator<<(std::ostream& s, const CBookItems::BookItem& item) +std::ostream& operator<<(std::ostream& s, const CBookItems::BookItem& item) { s << item._sFirstName << " " << item._sLastName << ": " << item._sPhoneNumber1; if (item._sPhoneNumber2 != "") @@ -318,7 +318,7 @@ std::ostream& operator<<(std::ostream& s, const CBookItems::BookItem& item) return s; } -std::istream& operator>>(std::istream& s, CBookItems::BookItem& item) +std::istream& operator>>(std::istream& s, CBookItems::BookItem& item) { s >> item._sFirstName >> item._sLastName >> item._sPhoneNumber1 >> item._sPhoneNumber2; return s; diff --git a/phoebook/CBookItems.h b/phoebook/CBookItems.h index cdd8a3c..3e3d255 100644 --- a/phoebook/CBookItems.h +++ b/phoebook/CBookItems.h @@ -20,18 +20,19 @@ using namespace std; class CBookItems { public: - struct BookItem + template + class BookItem { private: - string _sFirstName; - string _sLastName; - string _sPhoneNumber1; - string _sPhoneNumber2; + T _sFirstName; + T _sLastName; + T _sPhoneNumber1; + T _sPhoneNumber2; public: BookItem() { } - ~BookItem() + virtual ~BookItem() { } @@ -39,13 +40,13 @@ public: /** *Переопределяет операторы вывода/вывода */ - friend std::ostream& operator<<(std::ostream& s, const BookItem& item); - friend std::istream& operator>>(std::istream& s, BookItem& item); + friend std::ostream& operator<<(std::ostream& s, const BookItem& item); + friend std::istream& operator>>(std::istream& s, BookItem& item); friend CBookItems; }; - vector _aItems; + vector > _aItems; public: @@ -89,7 +90,7 @@ public: /** *Возвращает элемент телефонного справочника */ - const BookItem& GetItem(int nNumOfItem); + const BookItem& GetItem(int nNumOfItem); //=============================================================================== /**