Студопедия — R.9.3 Функции-члены
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

R.9.3 Функции-члены






Функция, описанная как член (без спецификации friend $$R.11.4),называется функция-член и вызывается в соответствии с синтаксисомчлена класса ($$R.5.2.4), например: struct tnode { char tword[20]; int count; tnode *left; tnode *right; void set(char*, tnode* l, tnode *r); }; Здесь set является функцией-членом и может вызываться так: void f(tnode n1, tnode n2) { n1.set("abc",&n2,0); n2.set("def",0,0); } Считается, что определение функции-члена принадлежит областивидимости ее класса. Это означает, что в функции-члене (если онанестатическая, $$R.9.4) можно непосредственно использовать именачленов ее класса. В статической функции-члене можно непосредственноиспользовать имена только статических членов, элементов перечисленияи вложенных типов. Если определение функции-члена находится внеописания класса, ее имя следует уточнить именем класса с помощьюоперации::, например: void tnode::set(char* w, tnode* l, tnode* r) { count = strlen(w)+1; if (sizeof(tword)<=count) error("tnode string too long"); strcpy(tword,w); left = 1; right = r; } Обозначение tnode::set указывает, что функция set является членом инаходится в области видимости класса tnode. Имена членов tword,count, left и right относятся к членам того объекта, с именемкоторого вызывалась Поэтому в вызове n1.set("abc",&n2,0) twordобозначает n1.tword, а в вызове n2.set("def",0,0) tword обозначаетn2.tword. Функции strlen, error и strcpy должны быть описаны где-тов программе. Члены можно определять ($$R.3.1) вне описания класса; если вописании класса они были описаны, но не определены, их не следуетописывать заново, см. $$R.3.3. После определения классафункции-члены этого класса можно использовать при описании друзей.Всякая вызываемая в программе функция-член должна иметь в точностиодно определение. Результат вызова нестатической функции-члена ($$R.9.4) класса X,когда она вызывается не с объектом класса X, неопределен.







Дата добавления: 2015-09-04; просмотров: 296. Нарушение авторских прав; Мы поможем в написании вашей работы!



Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Деятельность сестер милосердия общин Красного Креста ярко проявилась в период Тритоны – интервалы, в которых содержится три тона. К тритонам относятся увеличенная кварта (ув.4) и уменьшенная квинта (ум.5). Их можно построить на ступенях натурального и гармонического мажора и минора.  ...

Понятие о синдроме нарушения бронхиальной проходимости и его клинические проявления Синдром нарушения бронхиальной проходимости (бронхообструктивный синдром) – это патологическое состояние...

Опухоли яичников в детском и подростковом возрасте Опухоли яичников занимают первое место в структуре опухолей половой системы у девочек и встречаются в возрасте 10 – 16 лет и в период полового созревания...

Предпосылки, условия и движущие силы психического развития Предпосылки –это факторы. Факторы психического развития –это ведущие детерминанты развития чел. К ним относят: среду...

Анализ микросреды предприятия Анализ микросреды направлен на анализ состояния тех со­ставляющих внешней среды, с которыми предприятие нахо­дится в непосредственном взаимодействии...

Типы конфликтных личностей (Дж. Скотт) Дж. Г. Скотт опирается на типологию Р. М. Брансом, но дополняет её. Они убеждены в своей абсолютной правоте и хотят, чтобы...

Studopedia.info - Студопедия - 2014-2024 год . (0.011 сек.) русская версия | украинская версия