Jump to content
fancoelho

construtores em c++

Recommended Posts

fancoelho

Bom dia..tenho uma duvida num trabalho.

Tenho que fazer um programa recorrendo a iteradores e listas ligadas simples, mas nao sei como implementar os construtores..

Tenho que fazer uma classe que tenha 2 parametros de entrada, uma key,e a informação que tá nessa key.

Ainda so tenho este codigo, mas acho que tá mal, se me ajudassem agradecia..

Obrigado

Código:

// Construtores
	DictLLS(): first(NULL){}
	DictLLS(const T &t,int K &k):first(NULL){
		this->add(t);
	}
	DictLLS(DictLLS<T> &dic):first(NULL){
		Iterator it;
		for (it=dic.begin(); it!= dic.end(); it++)
		{
			this->add(*it);
		}
	}

Share this post


Link to post
Share on other sites
fancoelho

Esta é a classe..

template<class K, class T>
class DictLLS: public IDict<K,T>
{
private:
NodoSK<K,T>* first;
//......

T* get(NodoSK<K,T> *p, const K &key)
{
	if (p==NULL || key < p->getKey()) return NULL;//se esta vazia
	else if(key==p->getKey()) return &p->getInfo();//se é igual à xave
	else return get(p->getNext(), key);//inicia na sublista k inicia no 2ºnodo
}
public:

// Construtores
	DictLLS(): first(NULL){}
	DictLLS(const T &t,int K &k):first(NULL){
		this->add(t);
	}
	DictLLS(DictLLS<T> &dic):first(NULL){
		Iterator it;
		for (it=dic.begin(); it!= dic.end(); it++)
		{
			this->add(*it);
		}
	}

Faltam aqui uma linhas de código mas não interferem..

Share this post


Link to post
Share on other sites
Triton

Para a próxima usa a opção "Inserir código" quando estás a fazer post. Para ficar com cores e ser mais fácil de ler.

De resto não sei qual é a dúvida... como é suposto te ajudarmos se não perguntaste nada, não deste grandes detalhes, e só copias código?

Já agora, isso não é uma classe, é um class template.


<3 life

Share this post


Link to post
Share on other sites
fancoelho

A minha duvida é como definir correctamente os construtores..

Só isso.

O primeiro acho que esta bem definido, mas os dois de baixo não, porque da erros ao compilar.

Share this post


Link to post
Share on other sites
Triton

Sim..

Não sei que tipo de ajuda queres então. Quando tiveres dúvidas concretas, ou um bocado de código que se possa compilar e mostre os erros que não sabes corrigir, então depois posso ajudar.


<3 life

Share this post


Link to post
Share on other sites
fancoelho

Boas..

Antes de mais obrigado pela disponibilidade que o Triton mostrou ter.

Consegui resolver o meu problema e em baixo posto o codigo a que cheguei..

Triton desculpa por nao me conseguir explicar melhor.. ;)

Ve o codigo que fiz e diz-me s a partir dai consegues ver o que queria.. :P

DictLLS(): first(NULL){}
	DictLLS(const K &k, const T &t):first(NULL){
		this->add(k, t);
	}

	DictLLS(DictLLS<K,T> &dic):first(NULL){
		Iterator it;
		for (it=dic.begin(); it!= dic.end(); it++)
		{
			this->add(*it);
		}
	}

:wallbash:

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.