不懂 (*it).name.find(name) 和 (*it).name.length()) 这两个分别的意思
void FindBook()
{
string name;
cin >> name;
for (list<Book>::iterator it = BList.begin(); it != BList.end(); it++)//遍历整个list,所以符合关键字的都会被找到
{
int index = (*it).name.find(name);//如果没找到返回值是一个很大的数
if (index < (*it).name.length())
(*it).Show();
}
}