#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;