Главная->Інформатика та програмування->Содержание->Определение объектов класса string и присваивание им значений

ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть 7) онлайн

Определение объектов класса string и присваивание им значений

Вы можете определить объект класса string различными способами: использо- вать конструктор без аргументов, создающий пустую строку, конструктор с од- ним аргументом, где аргумент является строковой константой, то есть символы ограничены двойными кавычками. Как и в написанном нами классе String, объек- ты класса string могут быть присвоены один другому при использовании простой операции присваивания. В примере SSTRASS показано, как это выглядит.

// sstrass.cpp

// определение и присвоение для строк #include  <iostream> #include  <string> using namespace std; ///////////////////////////////////////////////////////////

int main ( ) {

string s1 ( "Рыба" ); string s2 = "Мясо"; string s3;

s3 = s1;

cout << "s3 >> " << s3 << endl;

s3 = "Ни " + s1 + " ни "; s3 += s2;

cout << "s3 >> " << s3 << endl; s1.swap ( s2 );

cout << s1 << " не " << s2 << endl; return 0;

}

 

Здесь в первых трех строках кода показаны три способа определения объекта класса string. Первые два инициализируют строки, последний создает пустую переменную класса string. В следующей строке показано простое присваивание с использованием операции =.

Класс string использует перегруженные операции. Мы не будем изучать внут- реннюю работу перегруженных операций до следующей главы, но можем ис- пользовать эти операции и без знания того, как они сконструированы.

Перегруженная операция + объединяет один строковый объект с другим. В строке

S3 = "Ни " + s1 + " ни ";

строка «Ни» помещается в переменную S3.

Вы можете также использовать операцию += для добавления строки в конец существующей строки. В строке

s3 += s2;

переменная s2, имеющая значение «Мясо», добавляется в конец строки s3. Полу- чившаяся при этом строка «Ни Мясо» присваивается переменной s3.

В этом примере нам встретится первый метод класса string — swap(), который меняет местами значения двух строковых объектов. Он вызывается для одного объекта, в то время как другой объект является его аргументом. Мы применили этот метод к объектам s1 («Рыба») и s2 («Мясо»), а затем вывели значения этих объектов для того, чтобы показать, что s1 теперь имеет значение «Мясо», a s2 имеет значение «Рыба». Вот результат работы программы SSTRASS:

s3 - Рыба

S3 - Ни Рыба ни Мясо Мясо не Рыба

 

28