Введение в класс String  

Введение в класс String

Программа 6

// strtype1.cpp -- using the C++ string class

#include

#include // make string class available

int main()

{

using namespace std;

char charr1[20]; // create an empty array

char charr2[20] = "jaguar"; // create an initialized array

string str1; // create an empty string object

string str2 = "panther"; // create an initialized string

cout << "Enter a kind of feline: ";

cin >> charr1;

cout << "Enter another kind of feline: ";

cin >> str1; // use cin for input

cout << "Here are some felines:\n";

cout << charr1 << " " << charr2 << " "

<< str1 << " " << str2 // use cout for output

<< endl;

cout << "The third letter in " << charr2 << " is "

<< charr2[2] << endl;

cout << "The third letter in " << str2 << " is "

<< str2[2] << endl; // use array notation

getchar();

getchar();

return 0;

}

// strtype2.cpp –- assigning, adding, and appending

#include

#include // make string class available

int main()

{

using namespace std;

string s1 = "penguin";

string s2, s3;

cout << "You can assign one string object to another: s2 = s1\n";

s2 = s1;

cout << "s1: " << s1 << ", s2: " << s2 << endl;

cout << "You can assign a C-style string to a string object.\n";

cout << "s2 = \"buzzard\"\n";

s2 = "buzzard";

cout << "s2: " << s2 << endl;

cout << "You can concatenate strings: s3 = s1 + s2\n";

s3 = s1 + s2;

cout << "s3: " << s3 << endl;

cout << "You can append strings.\n";

s1 += s2;

cout <<"s1 += s2 yields s1 = " << s1 << endl;

s2 += " for a day";

cout <<"s2 += \" for a day\" yields s2 = " << s2 << endl;

getchar();

return 0; }

// strtype3.cpp -- more string class features

#include

#include // make string class available

#include // C-style string library

int main()

{

using namespace std;

char charr1[20];

char charr2[20] = "jaguar";

string str1;

string str2 = "panther";

// assignment for string objects and character arrays

str1 = str2; // copy str2 to str1

strcpy(charr1, charr2); // copy charr2 to charr1

// appending for string objects and character arrays

str1 += " paste"; // add paste to end of str1

strcat(charr1, " juice"); // add juice to end of charr1

// finding the length of a string object and a C-style string

int len1 = str1.size(); // obtain length of str1

int len2 = strlen(charr1); // obtain length of charr1

cout << "The string " << str1 << " contains "

<< len1 << " characters.\n";

cout << "The string " << charr1 << " contains "

<< len2 << " characters.\n";

getchar();

return 0;

}

strlen() – это стандартная функция, которая принимает в качестве аргумента строку в стиле С и возвращает количество символов в ней. Функция size() обычно делает то же самое, но синтаксис ее вызова отличается. Вместо передачи аргумента ее имени предшествует имя объекта str1, отделенное точкой.

str1 – это объект, а size() – метод класса.

Метод – это функция, которая может быть вызвана только объектом, принадлежащим классу, в котором определен данный метод.

Короче говоря, функции С используют аргументы для идентификации требуемой строки, а объект класса C++ string использует имя объекта и операцию точки для указания того, какую именно строку нужно взять.

// strtype4.cpp -- line input

#include

#include // make string class available

#include // C-style string library

int main()

{

using namespace std;

char charr[20];

string str;

cout << "Length of string in charr before input: "

<< strlen(charr) << endl;

cout << "Length of string in str before input: "

<< str.size() << endl;

cout << "Enter a line of text:\n";

cin.getline(charr, 20); // indicate maximum length

cout << "You entered: " << charr << endl;

cout << "Enter another line of text:\n";

getline(cin, str);// cin now an argument; no length specifier

cout << "You entered: " << str << endl;

cout << "Length of string in charr after input: "



<< strlen(charr) << endl;

cout << "Length of string in str after input: "

<< str.size() << endl;

getchar();

return 0;

}


1553622427349193.html
1553654437525595.html
    PR.RU™