КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Модульная единица 1. Представление о социально-экономической организации. Сущность управления организацией
Преобразования типа Возможны два способа преобразования типа для вновь создаваемого класса: преобразование из уже существующего типа в новый и преобразование нового разрабатываемого типа в уже существующий. Из существующего типа в новый - с помощью одноаргументного конструктора. Каждый конструктор с одним аргументом любого типа выполняет преобразование типа - из типа аргумента в тип класса. Конструктор может вызываться явно или неявно. Пример для класса Rational: Rational x = Rational(23); // явный вызов Rational y = 23; // неявный вызов Возможны любые использования, в том числе и при вычислении выражений с использованием перегруженных операций: можно определить одну операцию сложения Rational с Rational; она должна быть реализована как функция-друг класса (т.к. первым аргументом может и не быть экземпляр класса - допускаются преобразования типа int в тип Rational): friend Rational operator + (Rational, Rational); Rational a(1,2), b(1), c; c = a + b; c = a + 1; // эквивалентно c = a + Rational(1); c = 2 + a; // эквивалентно c = Rational(2) + a; Из нового типа в существующий - с помощью перегрузки операции преобразования типа Обязательно функция-член класса. Прототип: operator имя_типа (); Реализация: имя_класса::operator имя_типа () {... } Использование: неявно при вычислении выражений или явно с помощью обычной операции преобразования типа: имя_типа (выражение). Пример для класса Rational: class Rational{ public: ... operator float() { return (float) num / den; } ... }; Использование: Rational x(3,2); float f = x; Еще пример: while(cin >> n) cout << n; Возможные неприятности: Если в классе Rational есть одноаргументный конструктор (преобразование int в Rational) и в нем будет перегружена операция преобразования типа для int (преобразование Rational в int), тогда конструкция: Rational a(1,2); ... a + 1... вызовет сообщение об ошибке (два преобразования типа, определенные пользователем - что выбрать: int + int или Rational + Rational? Аннотация Даны представления об организации как открытой системе, в своей деятельности «вписывающейся» в непрерывно меняющуюся внешнюю среду. Раскрыты особенности функционирования организации, её горизонтальная и вертикальная структуры, основные подходы к её исследованию.
Дата добавления: 2014-01-20; Просмотров: 375; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |