#include <stdafx.h>
#include <iostream>
#include <string>
#include <fstream>
#include <vector>
using namespace std;
template <typename T>
void ShowArray(T arr[],int n);//template A
template <typename T>
void ShowArray(T * arr[],int n);//template B
test();
struct debts
{
char name[50];
double amount;
};
int main()
{
int things[6]={13,31,103,301,130};
struct debts mr_E[3]=
{
{"Ima Wolfe",2400.0},
{"Ura Foxe ",1300.0},
{"Iby Stout",1800.0}
};
double *pd[3];
for(int i=0; i<3;i++)
pd[i]=&mr_E[i].amount;
cout<<"Listing Mr.E's counts of things:/n";
ShowArray(things,6);
cout<<"Listing Mr.E's debts:/n";
ShowArray(pd,3);//uses template B,more specialized
string strthings[7] = {"a","b","c","d","e","f","g"};
ShowArray(strthings,7);
test();
system("PAUSE");
return 0;
}
void test()
{
vector<int> vec0;//null 's vector
const int size = 8;
const int value = 1024;
//size = 8 's vector each value 0
vector<int> vec1(size);
//size = 8 's vector each value 1024
vector<int> vec2(size,value);
//size = 4 's vector each value ia
int ia[4] = {0,1,1,2 };
vector<int> vec3(ia, ia + 4);
//vec4 is a copy vec2
vector<int> vec4(vec2);
cout << vec1.size();
}
template <typename T>
void ShowArray(T arr[],int n)
{
cout<<"template A/n";
for(int i=0;i<n;i++)
cout<<arr[i];
cout<<endl;
}
template <typename T>
void ShowArray(T * arr[],int n)
{
cout<<"template B/n";
for(int i=0;i<n;i++)
cout<<*arr[i]<<' ';
cout<<endl;
}