本文整理汇总了C++中AddressBook::person方法的典型用法代码示例。如果您正苦于以下问题:C++ AddressBook::person方法的具体用法?C++ AddressBook::person怎么用?C++ AddressBook::person使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AddressBook
的用法示例。
在下文中一共展示了AddressBook::person方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: read_write_read_with_mergefrom
void read_write_read_with_mergefrom(const string &filename, AddressBook &book)
{
{
fstream read_f(filename.c_str(), ios::in | ios::binary);
if (!read_f)
{
cerr << filename << ": file not found, exit..." << endl;
return;
}
book.ParseFromIstream(&read_f);
cout << "book: " << book.DebugString() << endl;
}
book.set_host_name("carl_update_mergefrom");
int index = 0;
for (; index < book.person_size(); ++index)
{
Person person;
person.CopyFrom(book.person(index));
person.set_age(100);
book.mutable_person(index)->MergeFrom(person);
}
{
fstream write_f(filename.c_str(), ios::out | ios::trunc | ios::binary);
if (!book.SerializeToOstream(&write_f))
{
cerr << "failed to write addressbook" << endl;
return;
}
}
{
fstream read_f(filename.c_str(), ios::in | ios::binary);
if (!read_f)
{
cerr << filename << ": file not found, exit..." << endl;
return;
}
book.ParseFromIstream(&read_f);
cout << "book: " << book.DebugString() << endl;
}
}
示例2: ListPeople
//Iterates through all people in the AddressBook and prints info about them
void ListPeople(const AddressBook& address_book)
{
for(int i=0; i < address_book.person_size(); i++)
{
const Person& person = address_book.person(i);
cout << "Person ID: " << person.id() << endl;
cout << " Name: " << person.name() << endl;
if(person.has_email())
{
cout << " E-mail address: " << person.email() << endl;
}
for(int j=0; j < person.phone_size(); j++)
{
const Person::PhoneNumber& phone_number = person.phone(j);
switch(phone_number.type())
{
case Person::MOBILE:
cout << " Mobile phone #: ";
break;
case Person::HOME:
cout << " Home phone #: ";
break;
case Person::WORK:
cout << " Work phone #: ";
break;
}
cout << phone_number.number() << endl;
}
}
}