一丶vector
#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("favorite");
likes.push_back("book");
likes.push_back("music");
likes.push_back("film");
likes.push_back("paintings");// 为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("anime");
dislikes.push_back("sport");
dislikes.push_back("sportsman");// 为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(unsigned i=0;i!=v.size();i++)
cout<<v[i]<<" "<<endl;
// 补足程序
// 。。。
}
// 函数实现
// 以迭代器方式输出vector<string>数组对象v的元素值
void output2(vector<string> &v) {
vector<string>::iterator it;
for(it=v.begin();it!=v.end();it++)
cout<<*it<<" "<<endl;
// 补足程序
// 。。。
}
二丶期中考试
book类
book.h
#ifndef BOOK_H_INCLUDED
#define BOOK_H_INCLUDED
#include<iostream>
#include<string>
#include<cstring>
using namespace std;
class Book
{
public:
Book(string a,string c,float v);
void print();
private:
string isbn;
string title;
double price;
};
#endif // BOOK_H_INCLUDED
book.cpp
#include "Book.h"
Book::Book(string a,string b,float c):isbn(a),title(b),price(c){}
void Book::print()
{
cout<<"出版编号:"<<isbn<<" "<<"书名:"<<title<<" "<<"定价:"<<price<<" RMB"<<endl;
}
main.cpp
#include <iostream>
#include<vector>
#include"Book.h"
using namespace std;
int main()
{
vector<Book> books;
string cx,cv;
float pl;
while(cin>>cx>>cv>>pl)
{
Book a(cx,cv,pl);
books.push_back(a);
}
for(int i=0;i<books.size();i++)
{
books[i].print();
}
return 0;
}
三丶
6-17
原码
#include<iostream>
using namespace std;
int main()
{
int *p;
*p=9;
cout<<"The value at p:"<<*p;
return 0;
}
修改后
#include<iostream>
using namespace std;
int main()
{
int *p;
int a;//不能直接把9赋值给指针p
a=9;
*p=a;
cout<<"The value at p:"<<*p;
return 0;
}
6-18
原码
#include<iostream>
using namespace std;
int fn1()
{
int *p=new int(5);
return *p;
return 0;
}
int main()
{
int a=fn1();
cout<<"the value of a is:"<<a;
return 0;
}
运行结果如下
(这题不是很懂什么意思错在哪儿,看了好久也没明白,希望有人能讲解一下)