#include <iostream>
#include <vector>
#include <string>
using namespace std;

// 函数声明 
void output1(vector<string> &);  
void output2(vector<string> &);  

int main()
{
    vector<string>likes, dislikes; // 创建vector<string>对象likes和dislikes
    likes.push_back("fayorite book");
    likes.push_back("music");
    likes.push_back("film");
    likes.push_back("paintings");
    likes.push_back("anime");
    likes.push_back("sport");
    likes.push_back("sportman");
    // 为vector<string>数组对象likes添加元素值 ( favorite book, music, film, paintings,anime,sport,sportsman,etc) 
    // 补足代码 
    // 。。。 
    
    
    cout << "-----I like these-----" << endl;
    output1(likes);
    // 调用子函数输出vector<string>数组对象likes的元素值 
    // 补足代码
    // 。。。 

    dislikes.push_back("suan");
    dislikes.push_back("cong"); 
    // 为vector<string>数组对象dislikes添加元素值 
    // 补足代码 
    // 。。。 
    
    cout << "-----I dislike these-----" << endl;
    output2(dislikes);
    // 调用子函数输出vector<string>数组对象dislikes的元素值 
    // 补足代码
    // 。。。 
    likes.swap(dislikes);
    // 交换vector<string>对象likes和dislikes的元素值 
    // 补足代码
    // 。。。 
    
    
    cout << "-----I likes these-----" << endl;
    output1(likes);
    // 调用子函数输出vector<string>数组对象likes的元素值 
    // 补足代码
    // 。。。 
    
    cout << "-----I dislikes these-----" << endl;
    output2(dislikes);
    // 调用子函数输出vector<string>数组对象dislikes的元素值 
    // 补足代码
    // 。。。 
        
                        
    return 0;
}


// 函数实现 
// 以下标方式输出vector<string>数组对象v的元素值  
void output1(vector<string> &v) {
    for(int i=0;i<v.size();i++)
    cout<<v[i]<<" ";
    cout<<endl;
    // 补足程序
    // 。。。 
}

// 函数实现
// 以迭代器方式输出vector<string>数组对象v的元素值 
void output2(vector<string> &v) {
    vector<string>::iterator it;
    for(it=v.begin();it!=v.end();++it)
    cout<<*it<<" ";
    cout<<endl;
    // 补足程序
    // 。。。 
}

6-17.指针没有指向一个有效的地址

6-18.指针空间没有释放,造成浪费

#include "book.h"
#include <vector>
#include <iostream>
#include<cstring>
using namespace std;
 
int main()
{
    vector<Book> books;
    // 定义一个vector<Book>类对象
    // 补足程序
    // ...
         
    string isbn, title;
    float price;
      while(cin>>isbn&&isbn!="eof"){
        cin>>title>>price;
        books.push_back(Book(isbn,title,price));
    }
    // 录入图书信息,构造图书对象,并添加到前面定义的vector<Book>类对象中
    // 循环录入,直到按下Ctrl+Z时为止 (也可以自行定义录入结束方式)
    // 补足程序
    // ...
   
    for(int j=0;j<books.size();j++)
    books[j].print() ;
     
    // 输出入库所有图书信息
    // 补足程序
    // ...
    
    return 0;