Г. Шилдт - Полный справочник по C++ (1109478), страница 136
Текст из файла (страница 136)
соева Т ак)Г Севрзаке<с1авв т> ча1аггау<Ъоо1> орегасог>(сових т ак, соева ча11агаУ<Т> аЬ)г ()радек><гесс таб< 373 Применяет операцию побитового сдвига вправо нз величину, определенную соответствугащим элементом объекта аЬ, к значению к Возвращает массив, содержащий результат операции Применяет операцию побитового сдвига вправо нв величину, определенную соответствующим элементам объекта ОЬ2, к каждому элементу объекте сЫ Возвращает массив, содержащий результат операции Выполняет сравнение ОЬ!г)= — к для каждого значения г'.
Возвращает массив булевь*,х значении, содержащий результат Выполняет сравнение ч==оЬЯ для каждого значения !. Возвращает массив булевых значений, содержащий результат Выполняет сравнение ОЫ(г)==ОЬ22)! для каждого значения г Возвращает массив булевых значений, содержащий результат Выполняет сравнение ОЬЯ'=к для каждого значения г. Возвращает массив булевых значений, содержащий Результат Выполняет сравнение иыоЬЯ для каждого значения г.
Возвращает массив булевых значении, содержащий результат Выпопняе.г сравнение ОЬ ![г)г=-аб2(г! для каждого значения !. Возвращает массив булевых значении, содержещии результат Выполняет сравнение оЬЯ< к для каждого значения г. Возвращает массив булевых значений, содержащий результат Выполняет сравнение к<оЬЯ для каждо о значения г. Возвращает массив булевых значении, содержащий результат Выполняет сравнение ОЫЯ<ОЬ2у[! для каждого значения г.
Возвращает массив булевых значений, содержащий результат Выполняет сравнение ОЬЯ<-. и для каждого значения г Возвращает массив булевых значений, содержзщии результат Выполняет сравнение к<=.аЬЯдля каждого значения г Возвращает массив бупевьж значений, содержащий результат Выполняет сравнение ОИЯ< = о62))! для каждого значения г. Вазврац[еет массив булевых значений, содержа щии результат Выполняет сравнение ОЯ«) к для каждого значения !. Возвращает массив булевых значений, содержащий результат Выполняет сравнение к>аЬЯдпя каждого значения х Возвращает массив бупевьгх значений, содержащий результат Часть ))!.
Библиотека стаидартяык классов Окал<алаи а(Оба. 372 Таблица 37.4. Трансцендентные функции, определенные для класса уа(апау Севр1ахе<сзавв Т> на1пхгау<Т> аьв(сопвс на1ахгпу<т> йОЫ и свпр1асе<с1авп т> нп1вххау<т> асоп(сопес иа1ахгпу«т> йоЬ)и Севр1ахе<с1аве т> «иа1аххау<Т> асов(соиивс чилах ву<'и йсс)и сежр1асе«с1авв т> на1вггву<т> аппп(попас «а1аггву<т> йоЫ и сепрзасе<с1аап т> ча)пххеу<т> ахваз(соппс т ач, сопвс иа1аггау<т> йоЫ Глава 37. Числовые клвссь) Сепр1аге<с1апв Т» ча1агау<ЬОО1> орегасог>(сопвс ча11пхау<т> оЫ, соппс «ип11агау«т> йсЬ2)и Сепр1асе<с1авв Т> на1йкау<Ьоо1> орехахог>=(сапах на11акау<т> ОЬ, соппс т йщ и Сешр1ахе<с1вве Т> на1вггау<ъоо1> орегвгох>=(солне т йн, сапах чп1аггпу<Т> СЫ И Сетр1асе<с1впв т> иа1акгау<Ьоо1> орегасог>=(сопвс «а1акгву<т> ОЫ, соппс иа1ахгау<т> йсЬ2)г Сепр1ахе<с1апв Т> на1аггау<ъоо1> орехйсогай(соппс на1аххеу<т> ОЬ, сопвс т йч) и Севр1аье<с1авп Т> нв1аггау<ъоо1> орегвсогйй(соппс т йн, попас ча1в*гау<т> оЫ и Сепрзахе<с1авв Т> ча1вгкву<Ьоо1> орегвсохвй(сиювс на1аггву<т> оЫ, сопя» ча1пхгву<Х> йОЬ2)и Севрзахе<с1авв Т> «иазаггау<Ьоо1> срегахог)1(сопвг иа1аггау<Т> СЬ, сопвс т ею и Севр1ахе<с1пев Т> нвзаххау<Ьоо1> орегатог()(сопвс т йн, сопвс назекгау<т> ОЫ и сепр1асе<с1апп т> назвххау<т> орегасог(((сопвс «в1вгхау<т> оЫ, соппс нв1аггау<т> йОЬ2)г Ьзжртаее<сзпвв т> на1ахкау<т> агапэ(сопвь на1аггау<Т> йсЫ.
сспвс на1акгау<т> йОЬ2) и Выполняет сравнение ОЫ() об2Я для каждого значения 1 Возвращает массив булевых значении, содержащий результат Выполняет сравнение оЬЯ>= ндпа каждого значе- ния ). Возвращает массив булевых значений, со- держащий результат Выполняет сравнение и>.—. ОЬР(7 для каждого значе- ния и, Возвращает массив булевых значений, со- держагций результат Выполняе~ сравнение ОЬЩй .—.ОЬ2Ядля каждого значения ). Возвращает массив булевых значении, содержащий результат Выпопиявт ОПЕРацию ОЬЯйй ндпа каждого значе- ния и'. Возвращает массив булевых значений, со. держащий результат Выполняет операцию нййсбргудля каждого значе- ния ) Возвращает массив булевых значений, со- держащий результат Выполняет операцию оЬ)Яййаб2)и! для каждого значения 1 Возвращает массив булевых значений, содержащий результат Выполняет операцию оьЯ) ) ч для каждого значе- ния и.
Возвращает массив булевых значений, со- держащий результат Выполняет операцию ч~ (ОЬЯдля каждого значе- ния 1 Возвращает массив булевых значений, со- держащий результат Выполняет операцию ОЫ[~Д ) ОЬ2((7 для каждого значения и. Возвращает массив булевых значений, содержащий результат Вычисляет абсолютное значение каждого эле- мента объекта ОЬ. Возвращает массив, содер- жащий результат Вычисляет арккосинус каждого элемента обьекта оЬ.
Возвращает массив, содержащий результат Вычисляет арксинус каждого элемента объекта ОЬ. Возвращает массив, содержащий результат Вычисляет арктангенс каждого элемента объекта оЬ. Возвращает массив, содержащий результат Вычисляет арктангенс величин ОЫЯ/ОЬ2Я Воз- вращает массив, содержащий результат Вычисляет арктангенс величин >7ОЬЯ. Возвращает массив, содержащий результат соне « "Исходное содержимоез аког(1=-Оз 1<10з 1+ ь) соне « н[1) « соие « епс(1( ч = ч.свЬ|ГЬ(3) сонг « 'Сдвинутое содержимоез йог(1=Ос |<|ос 1е+) соиг « н[1] « сонг « епс)1; на1аггау<Ьоо1> нЬ = ч < 5; соис « "Эти элементы меньше 5з бог(1=Ос 1<10з 1++) соие « чЬ(1] « соне « епс)1 « епс)1з ча|аггау<йоиЫе> йч(5)з бог(1=0з 1<5з 1++) Ен(1] = (с(оиЬ|е) з.з соиг « "исходное содержимоез бог(1=0з 1<5; 1++) соиг « йч(1] « соне « епс]1; йч = вс(гс(йч) сонг « "Квадратнье корни: бог(1=0; з<5; |ь+] соне « Ьч[1] « " 'з сонг « епс)1з Еч = йн ь бнз соис « "удвоенные квадратные корни: бог(з=Оз з<5з 1++) соне «1н[з.] « сонг «епс(1з йч = йч — 10.0з сонг « "после вычитания числа 10 иэ каждого элементаз|п"з аког(1=0з 1<5; 1++) соне « йч(1] « свис « епо1з гееигп Оз Результат работы эзюй программы выглядит так.
Исходное содержимое: 0 1 2 3 4 5 б 7 Я 9 Сдвинутое содержимоез 3 4 5 б 7 8 9 0 1 2 эти элементы меньше 5з 1 1 0 О О 0 О 1 1 1 Исходное содержимое: 0 1 2 3 4 Квадратные корниз О 1 1.41421 1.73205 2 Глава 37. Числовые классы з з Удвоенные квадратные корни: 0 2 2.82843 3.4841 4 после вычитания числа 10 из каждого злементаз -10 -8 -7.17157 -б.5359 -б Классы йсе и 9йсе В заголовкс <ча1аккау> определены лва служебных класса; в11се и св11се. Эти классы инкапсулируют сечение (т.е.
часть) массива. Они используют операторную функцию орекасок ц, определенную для подмножеств типа т а1аз пау. Класс в11се выглядит следующим образом. с1аяя в11се ри)>11сз в11се()з я11се(язве с ягагС, я1те С 1еп, язве С 1псегча1! в1ае С впагп() Сспяпз язве с вате() сопвсз в1ае с ясг1де()з )з Первый конструктор создает пустое сечение. Второй конструктор создает сечение по заданным первому элементу„ллине и величине интервала между элементами (т.е. по в)агу индекса [з(пдс)). Эти значения вычисляются с помощью функций-членов. Рассмотрим программу, демонстрирующую применение класса в11се. // Демонстрация класса я11се. $1пс1п<)е <1овсгеапз> $1пс1пде «ча1аггау» ив1пс паиеврасе ясдз зпс та1п() ( ча1аггау<1пп> ч(10), геви11з 1пс зз бог(з=Оз 1<10з 1++) ч[з.) сома « "Содержимое массива чз бог(1=0з 1<10з 1++] сопп «ч[з.) « соес « епд1з геяи1с = ч[я1з.се(0,5,2))з сола « "Результат: *з бог(1=0з 1<геяи1с.я1ае()з з++) соуп « геяп1Г[1) « гебогп 0; Результаты работы этой программы приведены ниже.
1 Содержимое массива чз 0 1 2 3 4 5 б 7 8 9 Результат: 0 2 4 б 8 Как видим, результирующий массив состоит из гиги элементов массива ч, начиная с О, причем разность между индексами соседних элементов равна 2. Часть й(. Библиотека стандартных классов Клчсс дя11се сбстОит из след)'юн!их '!ле!юа. с1явв яв1 се рпЫ> с: ся1!се(); дв11се()(вузе всагс, сопвс ча11агау<ятае с> а1еп, аспас чя1'ягяу<ягае с> азпсегчя1в); вдге " всего() сопя ча1)агяу<втае С> в)ге() сопят! ча1яггау<ятяе с> всгзбе () солюс: )! Первый конструктор создает пустое сечение. Второй конструктор создаст сечение по заданным первому элементу, ллинс и всличгню интсрьчща между злсментал(и (г.с. по и!агу илдекса (я(пбе)).
Количество элементов массивов з.епв и апсегчя1в долж!ю совпадать. Зги значения вычисляются с поли!!!(ыо ()!ункции-членов, Класс дя11се приме!метая для со(лания мпкломсрных массивов на основе объекта класса чя1аггяу. который по определению всегда является одномсрвым. Следующая программа демонстрирует применение класса дя11се. // Демон<<таин!! класса яя1:(се. Итпс1а((е <зоасгеям> Фгпс1иое <чя1аггяу> ияьпц пяяеврпсе всб! гпс гаа!.г () чя1яггяу<гас> ч(12), гею!1с! чя1яггяу<в)ге с> 1ег.(2), тпсегчя1(2) уп' 1! бог(1=0; г<12! ! '+) . (г) .= 1! 1еп(0) = 3! 1еп(1) = 3; 1пеегчя1(0) = 2! гпеегча1(1) '= 3! соса « 'Солсржгкмое массива ч: бог(1=0! 1<12; соос «ч(1) сссс « епб1! геаи1С = ч(дя11се(0,1еп,1пгег!а))) сои» « реяуль вт: бог(1.†.О! 1<!евс1с.в!ге(); 1++) сост « гевв1с(«) « геесгп 0; Результат работы этол программы выглядит следующим образом.
Содержимое массива: 0 1 2 3 4 5 б т В 9 10 11 Ревультяа: 0 3 Ь 2 5 В С т 10 Вспомогательные классы «)исловыс классы используют вспомогательные классы я11се яггяу, да11се яггяу, апаагесс яггау и тяя)т яггяу, которые никогда не конкретизируются явно. 777 Глава 37.