Мегаобучалка Главная | О нас | Обратная связь


Каким образом осуществляется объявление переменной типа string? Примеры



2020-03-18 171 Обсуждений (0)
Каким образом осуществляется объявление переменной типа string? Примеры 0.00 из 5.00 0 оценок




Лабораторная работа №6-7

Использование классов в С++. Шаблонные классы (Standard Template Library, STL).

Цели работы.

Знать:

· принципы инкапсуляции и скрытия данных при разработке ПО;

· идеи абстракции данных и абстрактных типов данных;

· как создаются, используются и разрушаются объекты классов;

· как переопределять операции для работы с новыми типами данных;

· как перегружать операции;

· как перегружать шаблонные функции;

· часть библиотеки языка С++, в которую входят шаблонные классы.

Уметь:

· создавать классы;

· управлять доступом к элементам-данным и функциям-элементам;

· создавать классы, которые используют перегруженные операции;

· использовать шаблоны функций /перегруженных функций;

· различать шаблоны функций и шаблонные функции;

· использовать шаблоны классов для создания группы связанных типов классов;

· различать шаблоны класса и шаблонные классы.

· создавать и работать с объектами шаблонных классов (STL).

Варианты заданий.

Таблица 1

№ варианта Имя класса Класс-контейнер (STL) Тестовые данные (телефоны, электронные ящики или веб-адреса организаций, которые необходимо найти)
1. Mail_Contact вектор (vector) Научные электронные журналы
2. Phone_Contact двусторонняя очередь (deque) Приемные комиссии университетов Новосибирска
3. Web_Address список (list) Онлайн-компиляторы С++
4. Mail_Contact односвязный список (forward_list) Опорные ВУЗы
5. Phone_Contact стек (stack) Электронные издательства Новосибирска
6. Web_Address очередь (queue) Образовательные онлайн-платформы
7. Mail_Contact очередь с приоритетами (priority_queue) Пресс-секретари университетов Новосибирска
8. Phone_Contact массив (array) Пресс-секретари опорных университетов
9. Web_Address динамический массив (dynarray) Ресурсы для бесплатного образования
10. Web_Address двусторонняя очередь (deque) Электронные библиотечные системы

Бонусные баллы.

Последовательность выполнения лабораторной работы.

1. Работа с шаблонным классом string стандартной библиотеки С++:

a. знакомство с классом: см. Приложение №1; 

b. составить таблицу: операторы, функции (левый столбец), описание операторов, описание специализированных функций (правый столбец), см. https://docs.microsoft.com/ru-ru/cpp/standard-library/string?view=vs-2019.

2. Работа с классом последовательностей (последовательным контейнером или контейнером-адаптером STL) (далее по тексту «класс»):

a. знакомство с классом (согласно номеру варианта из табл. 1) см. https://docs.microsoft.com/ru-ru/cpp/standard-library/stl-containers?view=vs-2017#sequence_containers;

b. составить таблицу: операторы, функции класса (левый столбец), описание операторов, описание функций (правый столбец), выделить функции, которые являются уникальными для данного класса;

c. прописать требования, которым должны соответствовать элементы класса;

d. определить, как осуществляется доступ к элементам класса.

3. Создание своего класса на основе стандартных классов (string и класса  последовательностей):

a. Элемент-данные класса

класс_последовательностей < string > имя_элемента;

Пример:

class Mail_Contact

{

priority_queue <string> all_e_mail; // перечень Е- mail

public:

// методы класса

};

b. Функции-элементы класса:

• конструктор, конструктор по умолчанию, конструктор копирования;

• деструктор;

• оператор ввода;

• оператор вывода;

• добавление в последовательность;

• удаление из последовательности;

 

• запись последовательности в файл (бонусные баллы);

•чтение из файла (бонусные баллы).

4. Продемонстрировать работу всех методов класса создав программу-драйвер. Отделить реализацию от спецификации класса!

Содержание отчета.

 

Примеры.

 

Теоретические положения.

 

Вопросы и упражнения.

Литература:

1. Бьярн Страуструп - Язык программирования C++. Специальное издание, 2011.

2. Герберт Шилдт - C++. Руководство для начинающих, 2005.

3. Г. Шилдт - Самоучитель C++ .

4. Майкл Дж. Янг - Visual C++ 6. Том 1, 2.

5. Роберт Седжвик - Фундаментальные алгоритмы на C++. Части 1-4. Анализ. Структуры данных. Сортировка. Поиск.

6. Джесс Либерти - Освой самостоятельно C++ за 21 день.

7. Х. М. Дейтел, П. Дж. Дейтел - Как программировать на C++.

8. Стенли Б. Липпман, Жози Лажойе - Язык программирования C++. Вводный курс.

9. Стивен Прата - Язык программирования C++. Лекции и упражнения.

10. Р. Лафоре - Объектно-ориентированное программирование в C++.

 

Приложение 1

Знакомство с классом string[1]

1. Какое назначение класса string в программах на C++?

2. Какие модули (библиотеки) нужно подключить, чтобы использовать возможности класса string в MS Visual Studio C++?

3. Каким образом осуществляется объявление переменной типа string? Примеры

4. Какие преимущества и недостатки дает использование класса string в сравнении с типом char*?

5. Какие операторы можно использовать с объектами класса string?

6. Содержит ли класс string конструкторы?

7. Примеры инициализации с помощью конструкторов

8. Присваивание строк. Функция assign(). Примеры

9. Объединение строк. Функция append(). Пример

10. Вставка символов в строке. Функция insert(). Пример

11. Замена символов в строке. Функция replace(). Пример

12. Удаление заданного количества символов из строки. Функция erase(). Пример

13. Поиск символа в строке. Функции find() и rfind(). Примеры

14. Сравнение частей строк. Функция compare(). Пример

15. Получение строки с символом конца строки ‘\0’ (char *). Функция c_str(). Пример

16. Как определить длину строки типа string? Функция length()

1. Какое назначение класса string в программах на C++?

Класс string предназначен для работы со строками типа char*, которые представляют собой строку с завершающим нулем. Класс string был введенн как альтернативный вариант для работы со строками типа char*. Строки, которые завершаются символом ‘\0’ еще называются C-строками. Поскольку, string есть классом, то можно объявлять объекты этого класса.

2. Какие модули (библиотеки) нужно подключить, чтобы использовать возможности класса string в MS Visual Studio C++?

Чтобы использовать возможности класса string в MS Visual Studio (C++), нужно подключить библиотеку <string> и пространство имен std.

#include <string>

using namespace std;

Каким образом осуществляется объявление переменной типа string? Примеры

Объявление переменной типа string осуществляется точно так же как и обычной переменной. Возможный вариант объявления с одновременной инициализацией.

// тип string

string s1; // переменная с именем s1 типа string

string s2 = "This is a string variable"; // объявление с инициализацией

// использование переменной типа string с оператором присваивания

s1 = s2; // s1 = "This is a string variable"

s2 = "New text";

4. Какие преимущества и недостатки дает использование класса string в сравнении с типом char*?

Создание нового типа string было обусловлено недостатками работы с строками символов, который демонстрировал тип char*. В сравнении с типом char* тип string имеет следующие основные преимущества:

•   возможность обработки строк стандартными операторами C++ (=, +, = =, <> и т.п.). Как известно, при использовании типа char* даже наиболее простые операции со строками выглядели сложно и требовали написания чрезмерного программного кода;

•   обеспечение лучшей надежности (безопасности) программного кода. Например, при копировании строк, тип string обеспечивает соответствующие действия, которые могут возникнуть в случае, если строка-источник имеет больший размер чем строка-приемник;

•   обеспечение строки, как самостоятельного типа данных. Объявление типа string как строки есть единым для всех переменных в программе, которая обеспечивает непротиворечивость данных.

Основным недостатком типа string в сравнении с типом char*, есть замедленная скорость обработки данных. Это связано с тем, что тип string – это, фактически, контейнерный класс. А работа с классом требует дополнительной реализации программного кода, который, в свою очередь занимает лишнее время.



2020-03-18 171 Обсуждений (0)
Каким образом осуществляется объявление переменной типа string? Примеры 0.00 из 5.00 0 оценок









Обсуждение в статье: Каким образом осуществляется объявление переменной типа string? Примеры

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы...
Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация...
Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение...
Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (171)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.008 сек.)