Министерство образования Республики Беларусь
Учреждение образования
Белорусский государственный университет
информатики и радиоэлектроники
Специальность: Маркетинг
ЛАБОРАТОРНАЯ РАБОТА 1
по курсу «Объектно-ориентированное программирование
и проектирование»
Вариант № 1
Выполнил:
.
группа №702221с, шифр №21
Адрес: 220039,
МИНСК 2010
СТРОКОВЫЕ ОБЪЕКТЫ. МЕХАНИЗМ ПЕРЕГРУЗКИ ОПЕРАЦИЙ
Цель работы: Изучить методику по созданию одномерных динамических символьных массивов при помощи конструкторов с захватом динамической памяти и деструкторов для их уничтожения, а так же способа работы со строковыми объектами. Познакомиться с механизмом перегрузки операций.
Краткие теоретические сведения
Строка в языке С – это одномерный массив типа char, заканчивающийся нулевым байтом или признаком окончания строки, которая определена как символьная константа '\0'.
Положение нулевого байта определяет фактическую длину строки. Количество элементов в символьной строке на 1 больше, чем изображение строки.
Определение символьной строки: char ИмяСтроки [размер];
ИмяСтроки – это указатель на первый символ в строке, т.е. адрес первого символа.
Размер-1 – это максимальное количество символов, которые могут быть записаны в строке.
Поместить строку в массив можно либо при вводе, либо с помощью инициализации. При вводе с помощью операции >> признак окончания ввода строки нажатие клавиши "пробел". Для того чтобы, признак окончания ввода строки было нажатие клавиши "ввод", необходимо воспользоваться следующим методом класса iostream: istream& getline (signedchar*,int,char_delim='\n'), где первый параметр signedchar* – это имя строки, второй параметр int– это размер массива, ретий параметр – это символ которым завершается ввод, по умолчанию – это ‘\n’.
Примеры ввода с помощью метода getline():
char str[80];
1. cin.getline(str,80); // признак окончания ввода строки было нажатие клавиши //"ввод"
2. cin.getline(str,80,’%’); // признак окончания ввода строки было нажатие // клавиши "процент"
Операции над строками выполняются только через стандартные функции. Декларации функций для работы со строками размещены в файле string.h.
Некоторые наиболее часто используемые функции из библиотеки string.h:
1. Функция присваивания: char* strcpy (char*s1, const char*s2); копирует строку s2 в строку s1, причем размер строки s1 должен быть достаточно большим, чтобы хранить строку s2 и символ конец строки. Возвращает значение строки s1.
2. Функциидобавления:
char* strcat (char*s1, const char*s2);
добавляет к строке s1 строку s2, причем размер строки s1 должен быть достаточно большим, чтобы хранить строки s1 и s2, а так же символ конец строки. Возвращает значение строки s1.
char* strncat(char*s1, constchar*s2, int n); добавляет не более nсимволов из строки s2 в строку s1, причем размер строки s1 должен быть достаточно большим, чтобы хранить строки s1 и s2, а так же символ конец строки. Возвращает значение строки s1.
4. Функции сравнения:
int strcmp (const char*s1,const char*s2);
Сравнивает посимвольно строки s1 и s2, причем регистр учитывается.
Возвращает: 0, если строки одинаковы; 1 если встречается хотя бы один символ в строке s1, код которого больше, чем код символа строки s2; -1, если встречается хотя бы один символ в строке s1, код которого меньше, чем код символа строки s2.
int strncmp (const char*s1,const char*s2, int n); Сравнивает не более n символов строк s1 и s2, регистр учитывается.
int strcmpi (const char*s1,const char*s2); Сравнивает посимвольно
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.