Compare commits
3 Commits
Author | SHA1 | Date |
---|---|---|
Kolan Sh | 85d4a64c9c | |
Kolan Sh | e48b696ebd | |
Kolan Sh | 581d21007a |
|
@ -322,4 +322,13 @@ std::istream& operator>>(std::istream& s, CBookItems::BookItem& item)
|
|||
{
|
||||
s >> item._sFirstName >> item._sLastName >> item._sPhoneNumber1 >> item._sPhoneNumber2;
|
||||
return s;
|
||||
}
|
||||
|
||||
const string CBookItems::BookItem::to_string() const
|
||||
{
|
||||
string str = _sFirstName + " " + _sLastName + ": " + _sPhoneNumber1;
|
||||
|
||||
if (_sPhoneNumber2 != "")
|
||||
str += ", " + _sPhoneNumber2;
|
||||
return str;
|
||||
}
|
|
@ -20,30 +20,43 @@ using namespace std;
|
|||
class CBookItems
|
||||
{
|
||||
public:
|
||||
struct BookItem
|
||||
template<class T>
|
||||
class BaseBookItem
|
||||
{
|
||||
private:
|
||||
string _sFirstName;
|
||||
string _sLastName;
|
||||
string _sPhoneNumber1;
|
||||
string _sPhoneNumber2;
|
||||
protected:
|
||||
T _sFirstName;
|
||||
T _sLastName;
|
||||
T _sPhoneNumber1;
|
||||
T _sPhoneNumber2;
|
||||
public:
|
||||
BookItem()
|
||||
BaseBookItem()
|
||||
{
|
||||
}
|
||||
~BookItem()
|
||||
virtual ~BaseBookItem()
|
||||
{
|
||||
}
|
||||
virtual const string to_string() const = 0;
|
||||
};
|
||||
|
||||
//===============================================================================
|
||||
/**
|
||||
*Ïåðåîïðåäåëÿåò îïåðàòîðû âûâîäà/âûâîäà
|
||||
*/
|
||||
friend std::ostream& operator<<(std::ostream& s, const BookItem& item);
|
||||
friend std::istream& operator>>(std::istream& s, BookItem& item);
|
||||
class BookItem : BaseBookItem<string>
|
||||
{
|
||||
public:
|
||||
BookItem()
|
||||
{
|
||||
}
|
||||
virtual ~BookItem()
|
||||
{
|
||||
}
|
||||
//===============================================================================
|
||||
/**
|
||||
*Ïåðåîïðåäåëÿåò îïåðàòîðû âûâîäà/âûâîäà
|
||||
*/
|
||||
friend std::ostream& operator<<(std::ostream& s, const BookItem& item);
|
||||
friend std::istream& operator>>(std::istream& s, BookItem& item);
|
||||
|
||||
friend CBookItems;
|
||||
};
|
||||
friend CBookItems;
|
||||
const string to_string() const;
|
||||
};
|
||||
|
||||
vector<BookItem> _aItems;
|
||||
|
||||
|
|
|
@ -86,13 +86,7 @@ void CConsoleUI::FindItem(CBookItems& CPhoneBook)
|
|||
|
||||
for (int i = 0; i < nNumOfDesirvedItems.size(); i++)
|
||||
{
|
||||
string sFName = " ";
|
||||
string sLName = " ";
|
||||
string sNum1 = " ";
|
||||
string sNum2 = " ";
|
||||
|
||||
CPhoneBook.GetItem(nNumOfDesirvedItems.at(i), sFName, sLName, sNum1, sNum2);
|
||||
cout << 1 + i << ". " << sFName << " " << sLName << ": " << sNum1 << ", " << sNum2 << endl;
|
||||
cout << 1 + i << ". " << CPhoneBook.GetItem(nNumOfDesirvedItems.at(i)).to_string() << endl;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue