Ir ao conteúdo
  • Cadastre-se

Emanoel Victor

Membro Júnior
  • Posts

    2
  • Cadastrado em

  • Última visita

Reputação

0
  1. Ops, deveria ter feito isso mesmo Segue o código completo: #include<iostream>#include<string>using namespace std;class String {private: int size; char *x; char c;public: String(); //construtor default ~String(); friend istream &operator>>(istream &C, String &); void operator()(const int &, const char &); friend ostream &operator<<(ostream &, const String &); void compare(char &);};String::String(){ size=0; x=NULL; c=' ';}String::~String(){ if(x!=NULL){ delete[] x;}}void String::operator()(const int &N, const char &C) //Atribuição de valores aos parametros do objeto da classe{ cout<<"Entrei no operator ()!"<<endl; if(x!=NULL)delete[] x; size=N; x=new char[N]; c=C;}istream &operator>>(istream &C, String &S){ cout<<"Entre com o conteúdo do string: "; cin.getline(S.x, S.size); //S.x ~ char x[] e S.size ~ int size (Parametros do objeto da classe); return C;}ostream &operator<<(ostream &C, const String &S){ cout<<S<<endl; return C; //Retorna um ostream para encadear a função <<}void String::compare (char &C) //Substitui os caracteres iguais ao de C no string por um '_'{ for(int i=0;i<size;i++){ if(x[i]=C)x[i]='_';}}int main(){ String S; int N; char x; cout<<"Entre com o tamanho do string: "; cin>>N; cout<<"Entre com o parametro de comparacao do String: "; cin>>x; S(N,x); cin>>S; S.compare(x); cout<<S; return 0;}
  2. Olá, estou tendo um problema com a leitura de um string dentro de um método da minha classe (que por sinal se chama "String"). A seguir está o código do método: istream &operator>>(istream &C, String &S){cout<<"Entre com o conteúdo do string: ";cin.getline(S.x, S.size); //S.x ~ char x[] e S.size ~ int size (Parametros do objeto da classe);return C;} Estou usando o compilador g++ do ubuntu, portanto a única mensagem de erro que recebo é "segmentation fault (core dumped)". O erro aparece logo após ser impresso na tela a mensagem "Entre com o conteúdo do string", por isso imagino que o problema esteja relacionado ao getline. Se alguem puder me ajudar (e precisar de mais alguma informação), ficarei agradecido.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...