
CS2370 Prog 6
By:
mattfong on
May 19th, 2011 | syntax:
None | size: 3.39 KB | hits: 51 | expires: Never
//Matthew Fong
//Assignment 6: template classes
//Description: add functions to a pre written class
#ifndef SIMPLEVECTOR_H_INCLUDED
#define SIMPLEVECTOR_H_INCLUDED
#include <iostream>
#include <vector>
using namespace std;
template <class T>
class simpleVector
{
private:
int front;
int last;
T *aPtr;
int arraySize;
public:
simpleVector()
{
aPtr = 0;
arraySize = 0;
front = 0;
}
simpleVector(int s)
{
arraySize = s;
front = 0;
last = arraySize - 1;
}
void set(T *array)
{
aPtr = new T[arraySize];
for(int i = 0; i < arraySize; i++)
{
aPtr[i] = array[i];
}
}
void print()
{
for(int i = 0; i < arraySize; i++)
{
cout << aPtr[i] << " ";
}
cout << endl;
}
void printlast()
{
cout << last << endl;
}
void pushBack(T elem)
{
for(int i = 0; i < arraySize; i++)
{
if(aPtr[i] == NULL)
{
last = i-1;
}
}
aPtr[last] = elem;
}
void popBack()
{
T *newArray;
newArray = new T[last];
for(int i = 0; i < last; i++)
{
if(aPtr[i] == aPtr[i+1])
{
last = i+1;
}
}
for(int i = 0; i < last; i++)
{
newArray[i] = aPtr[i+1];
}
delete [] aPtr;
aPtr = newArray;
}
void numElements()
{
int count = 0;
for(int i = 0; i < arraySize; i++)
{
if(aPtr[i] != NULL)
count++;
}
cout << "Number of elements: " << count << endl;
}
~simpleVector()
{
delete [] aPtr;
}
};
#endif // SIMPLEVECTOR_H_INCLUDED
#include "simplevector.h"
#include <iostream>
#include <vector>
using namespace std;
int main()
{
simpleVector<int> integers(10);
simpleVector<char> characters(26);
int *intArray;
char *charArray;
intArray = new int[10];
charArray = new char[26];
for(int i = 0; i < 26; i++)
{
charArray[i] = static_cast<char>('A' + i);
}
for(int i = 0; i < 5; i++)
{
intArray[i] = i+1;
for(int j = 5; j < 10; j++)
{
intArray[j] = 0;
}
}
integers.set(intArray);
characters.set(charArray);
integers.pushBack(6);
integers.pushBack(7);
integers.popBack();
integers.pushBack(8);
integers.pushBack(9);
integers.pushBack(10);
cout << "Integers array:" << endl;
integers.print();
integers.numElements();
cout << endl << endl;
characters.popBack();
characters.popBack();
characters.popBack();
characters.pushBack('a');
cout << "Character array:" << endl;
characters.print();
characters.numElements();
return 0;
delete [] intArray;
delete [] charArray;
}