//-----------------Vector_main.cpp------------------
#include<iostream>
using namespace std;
#include"Vector.h"
int main()
{
Vector va;//定义一个不带参数的vector对象
cout<<"The vector is created. Empty? "<<boolalpha<<va.empty()<<endl;//测试v.empty()
cout<<"Using va.capacity() to output the capacity:"<<va.capacity()<<endl;//测试v.capacity()
cout<<"Using va.size() to output the size:" <<va.size()<<endl<<endl;//测试v.size()
Vector vb(0);//定义一个带一个参数(参数为0)的vector对象
cout<<"The vector is created. Empty? "<<boolalpha<<vb.empty()<<endl;//测试v.empty()
cout<<"Using vb.capacity() to output the capacity:"<<vb.capacity()<<endl;//测试v.capacity()
cout<<"Using vb.size() to output the size:" <<vb.size()<<endl<<endl;//测试v.size()
Vector vc(3);//定义一个带一个参数(参数不为0)的vector对象
cout<<"The vector is created. Empty? "<<boolalpha<<vc.empty()<<endl;//测试v.empty()
cout<<"Using vc.capacity() to output the capacity:"<<vc.capacity()<<endl;//测试v.capacity()
cout<<"Using vc.size() to output the size:" <<vc.size()<<endl<<endl;//测试v.size()
Vector v(3,1);//定义一个带两个参数的vector对象
cout<<"The vector is created. Empty? "<<boolalpha<<v.empty()<<endl;//测试v.empty()
cout<<"Using v.capacity() to output the capacity:"<<v.capacity()<<endl;//测试v.capacity()
cout<<"Using v.size() to output the size:" <<v.size()<<endl<<endl;//测试v.size()
cout<<"Using v.push_back() to put 2,3,4,5,6,7 to the back.\n";//测试v.push_back()
v.push_back(2);
v.push_back(3);
v.push_back(4);
v.push_back(5);
v.push_back(6);
v.push_back(7);
cout<<"After push back,the new size:"<<v.size()<<endl;//输出新的元素个数
cout<<"After push back,the new capacity:"<<v.capacity()<<endl;//测试v.push_back()是否会引起容量变化
cout<<"Using v.display(cout) to show the data:\n";v.display(cout);cout<<endl;//测试v.push_back()是否会引起容量变化
cout<<"Using v.pop_back() to pop the back value:\n";v.pop_back();//下面会测试v.pop_back()
cout<<"Using v.display(cout) to show the data:\n";v.display(cout);cout<<endl;
cout<<"Using v.front() to show the front:";cout<<v.front()<<endl;//测试v.front()
cout<<"Using v.back() to show the back:";cout<<v.back()<<endl;//测试v.back()以及v.pop_back()
cout<<"Using v.insert(2,5) to insert a value to the vector:";v.insert(2,5);cout<<endl;//测试v.insert()
cout<<"Using display(cout) to show the data:\n";v.display(cout);cout<<endl;
cout<<"Using v.erase(7) to erase a value in the vector:";v.erase(8);cout<<endl;//测试v.erase()
cout<<"Using display(cout) to show the data:\n";v.display(cout);cout<<endl;
cout<<"Using v[6],v[7] to show the data:";cout<<v[6]<<" "<<v[7]<<endl;//测试v[]以及v.erase()
cout<<"Using v.at(32) to check if out of range:\n";v.at(32);cout<<endl;测试v.at()
Vector v1=v;//测试赋值函数
cout<<"The new vector v1 is created:\n";v1.display(cout);//输出结果
Vector v2(v);//测试复制构造函数
cout<<"The new vector v2 is created:\n";v2.display(cout);//输出结果
Vector v3(1,2);//使用push_back赋值
v3.push_back(0);
v3.push_back(1);
v3.push_back(6);
v3.push_back(2);
v3.push_back(6);
v3.push_back(8);
v3.push_back(1);
v3.push_back(1);
v3.push_back(0);
v3.push_back(1);
v3.push_back(0);
cout<<"Using display(cout) to show v3's data:\n";v3.display(cout);cout<<endl;//显示元素数据
v3.swap(v);//测试v.swap()
cout<<"After swap v3 and v,using display(cout) to show v's data:\n";//显示交换后的结果
v.display(cout);//显示交换后v的结果
cout<<"Using display(cout) to show v3's data:\n";
v3.display(cout);//显示交换后v3的结果
cout<<"Determine if v==v3 ? "<<boolalpha<<(v==v3)<<endl;//测试值以及顺序的比较
cout<<"Determine if v<v3 ? "<<boolalpha<<(v<v3)<<endl;//测试字典序比较
v.reserve(64);//测试v.reserve()
cout<<"Using v.capacity() to output the capacity:"<<v.capacity()<<endl;//测试v.capacity()
cout<<"Using v.size() to output the size:" <<v.size()<<endl;//测试v.size()
system( "pause" );
return 0;
}