Untitled
Never
#include <iostream> template <typename T> class Vetor{ private: T* v; // vetor de elementos do tipo T int tam; // tamanho do vetor public: Vetor(int t); ~Vetor(); int tamanho(); bool vazio(); T elemento (int i); bool procura(T elem); void insere (T d,int i); void remove (int i); }; // ************************************************************* VETOR CPP ***************************************************************** template <typename T> Vetor<T>::Vetor(int t) { v=new T[t]; if (v==NULL) throw new std::string("memoria insuficiente"); tam=t; } template <typename T> Vetor<T>::~Vetor() { delete v; // Remove a alocação dinamica da memória } template <typename T> int Vetor<T>::tamanho() { return tam; } template <typename T> bool Vetor<T>::vazio() { return tam==0; } template <typename T> T Vetor<T>::elemento(int i) { if (i<0 || i>=tam) throw std::string("Indice Invalido"); return v[i]; } template <typename T> void Vetor<T>::insere(T d,int i) { if (i<0 || i>=tam) throw std::string("Indice Invalido"); v[i]=d; } template <typename T> bool Vetor<T>::procura(T elem) { for (int i=0; i<tam; i++) if (v[i] == elem) return true; return false; } template <typename T> void Vetor<T>::remove(int i) { if (i<0 || i>=tam) throw std::string("Indice Invalido"); v[i]=NULL; } // ************************************************************* MAIN CPP ***************************************************************** int main(int argc, const char * argv[]) { Vetor<int> w(10); //std::cout<<w.tamanho(); w.insere(3,0); //std::cout<<w.elemento(0); //std::cout<<w.procura(3); w.remove(0); std::cout<<w.elemento(0); return 0; } /* Na aula de amanhaã, criar um metodo chamado "agrupamento" -> vai receber outro vetor, vai ter que colocar totalmente no final. Vai ter que realocar o vetor Qualquer momento que precisar reacolar, dar um new. Aquele que não estiver sendo usado, joga fora. */