Você está aqui: C++ ::: Dicas & Truques ::: Strings e Caracteres |
Entendendo a atribuição de strings em C++Quantidade de visualizações: 10453 vezes |
Por atribuição entende-se o processo de transferir um valor a uma variável, muitas vezes substituindo o valor original. Em C++ a classe string possui o operador operator= sobrecarregado, o que facilita muito a atribuição de strings. Durante a autoria desta dica, três versões da sobrecarga deste operador estão disponíveis: string& operator=(const string& str); string& operator=(const char *s); string& operator=(char c); Na primeira versão podemos passar um outro objeto string. Veja: #include <string> #include <iostream> using namespace std; int main(int argc, char *argv[]) { // vamos criar um objeto string string str = "Gosto muito de C++"; // vamos atribuir um outro objeto string ao primeiro string str2 = "Gosto muito de Python"; str = str2; // exibe o resultado cout << str << "\n\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Na segunda versão podemos passar uma string C (aquelas terminadas em null). Veja: #include <string> #include <iostream> using namespace std; int main(int argc, char *argv[]) { // vamos criar um objeto string string str = "Gosto muito de C++"; // vamos atribuir uma string C char str2[] = "Gosto muito de Python"; str = str2; // exibe o resultado cout << str << "\n"; // e que tal passar um ponteiro para uma matriz de // caracteres? char *str3 = "Gosto muito de Ruby"; str = str3; // exibe o resultado cout << str << "\n\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Finalmente a terceira versão serve para atribuirmos um caractere. Veja: #include <string> #include <iostream> using namespace std; int main(int argc, char *argv[]) { // vamos criar um objeto string string str = "Gosto muito de C++"; // vamos atribuir um caractere char letra = 'A'; str = letra; // exibe o resultado cout << str << "\n\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Em todos os três casos o retorno da sobrecarga do operador "=" é um objeto da classe string, como demonstrado no exemplo a seguir: #include <string> #include <iostream> using namespace std; int main(int argc, char *argv[]) { // três objetos string string str1, str2, str3; // que beleza...veja isso str1 = str2 = str3 = "Gosto muito de C++"; // vamos exibir o resultado cout << str1 << "\n\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de C++ |
Veja mais Dicas e truques de C++ |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |