Marino Posted June 4, 2006 at 03:25 PM Report #31049 Posted June 4, 2006 at 03:25 PM #include <iostream> #include <string> #include "BST.H" using namespace std; class PalavraFreq { string palavra; int frequencia; // frequencia = nº de vezes que palavra aparece public: PalavraFreq(string p=""): palavra(p), frequencia(0) {} string getPalavra() const { return palavra; } int getFrequencia() const { return frequencia; } void setFrequencia(int f) { frequencia=f; } bool operator < (const PalavraFreq &pf1) const { return palavra < pf1.palavra; } bool operator == (const PalavraFreq &pf1) const { return palavra == pf1.palavra; } }; class AnaliseTexto { BST<PalavraFreq> palavras; public: void trataTexto(string texto); int compMedio() const; string maisFrequente(string pref) const; void listarEntre(string pal1, string pal2) const; }; void AnaliseTexto::trataTexto(string texto) { PalavraFreq NOT_FOUND; int pos=texto.find(" "); while(pos!=string::npos) { string palavra = texto.substr(0,pos); PalavraFreq aux = palavras.find(palavra); if(aux==NOT_FOUND) palavras.insert(palavra); else aux.setfrequencia(++getfrequencia()); texto = texto.substr(pos+1); pos=texto.find(" "); } } Pll basicamente estou com uma duvida estupida ? Pll desta maneira estou a usar a variavel BST<PalavraFreq> palavras na funçao tratatexto, Mesmo ela sendo PRIVADA?
TheDark Posted June 4, 2006 at 06:22 PM Report #31074 Posted June 4, 2006 at 06:22 PM Ouch. Dói ver isso sem estar identado... O campo palavras é privado, mas o método tratatexto faz parte da classe e tem acesso a todos os campos e métodos da classe, públicos, protegidos e privados. Só as funções externas à classe é que não têm acesso directo aos seus campos e métodos privados. Desaparecido.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now