c++实验五

1.#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
 // 为vector<string>数组对象likes添加元素值 ( favorite book, music, film, paintings,anime,sport,sportsman,etc)
 likes.push_back("favorite book");
 likes.push_back("music");
 likes.push_back("film");
 likes.push_back("paintings");
 cout << "-----I like these-----" << endl;
 // 调用子函数输出vector<string>数组对象likes的元素值
 output1(likes);
 // 为vector<string>数组对象dislikes添加元素值
 dislikes.push_back("anime");
 dislikes.push_back("sport");
 dislikes.push_back("sportsman");
 cout << "-----I dislike these-----" << endl;
 // 调用子函数输出vector<string>数组对象dislikes的元素值
 output2(dislikes) ;
 // 交换vector<string>对象likes和dislikes的元素值
     likes.swap(dislikes);
 cout << "-----I likes these-----" << endl;
 // 调用子函数输出vector<string>数组对象likes的元素值
 output2(likes);
 cout << "-----I dislikes these-----" << endl;
 // 调用子函数输出vector<string>数组对象dislikes的元素值
 output1(dislikes);       
 return 0;
}
// 函数实现
// 以下标方式输出vector<string>数组对象v的元素值 
void output1(vector<string> &v) {
 int i;
 for(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;
}

2(1)

#include<iostream>
using namespace std;
int main(){
 int * p;
 *p=9;//指针型变量p没有初始化,而是指向随机地址,不能直接赋值,可通过在创建一变量b,让p指向b完成赋值。
 //int b=9;
 //p=&b;
 cout<<"The value at p:"<<*p;
 return 0; 
}

2.(2)

#include<iostream>
using namespace std;
int *fn1(){
 int *p=new int(5);
 return p;
}
int main(){
 int *a=fn1();
 cout<<"the value of a is:"<<*a;
 delete a;
 //用new创建的动态空间,最后给*p分配的内存没被释放 ,可将a设为指针变量,fn1()为int*型,在创建完*a之后将其用delete释放
 return 0;
}

猜你喜欢

转载自www.cnblogs.com/devin-booker/p/9073808.html