|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
ПЕРЕГРУЗКА ОПЕРАТОРОВC++ позволяет переопределить действие большинства операций так, чтобы при использовании с объектами конкретного класса они выполняли заданные функции. Эта дает возможность использовать собственные типы данных точно так же, как стандартные. Обозначения собственных операций вводить нельзя. Можно перегружать любые операции, существующие в C++, за исключением таких операций: :: # sizeof Перегрузка операций осуществляется с помощью методов специального вида и подчиняется следующим правилам: · при перегрузке операций сохраняются количество аргументов, приоритеты операций и правила ассоциации, используемые в стандартных типах данных; · для стандартных типов данных переопределять операции нельзя; · функции-операции не могут иметь аргументов по умолчанию; · функции-операции наследуются; · функции-операции не могут определяться как static. Функцию – операцию можно определить тремя способами: 1. она должна быть либо методом класса; 2. либо дружественной функцией класса; 3. либо обычной функцией. Как дружественные функции класса или как обычные функции, она должна принимать хотя бы один аргумент имеющий тип класса, указатели или ссылки на класса (особый случай: функция операция, первый параметр которой имеет стандартный тип, не может определятся, как метод класса). ДРУЗЬЯ Дружные функции применяются для доступа к скрытым полям класса и представляют собой альтернативу методам. В виде дружественных функций оформляются действия, не представляющие свойства класса, но концептуально входящие в его интерфейс и нуждающиеся в доступе к его скрытым полям, например, переопределенные операции вывода объектов. Правила описания и особенности дружественных функций. 1. Дружественная функция обхявляется внутри класса, к элементам которого ей нужен доступ, с ключевым словом friend. В качестве параметра ей должен передаваться объект или ссылка на объект класса. 2. Дружественная функция может быть обычной функцией или методом другого ранее определенного класса. На нее не распаяется действие спецификаторов доступа, место размещения ее объявления в классе безразлично 3. Одна функция может быть дружественной сразу нескольким классами. Если все методы какого-либо класса должны иметь доступ к скрытым полям другого, весь класс объявляется дружественным с помощью ключевого слова friend. Class hero{ Friend class mistress; } Class mistress{ Void fl(); void f2();} Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.) |