Функции ref out определении вызове Main()

Save this PDF as:
 WORD  PNG  TXT  JPG

Размер: px
Начинать показ со страницы:

Download "Функции ref out определении вызове Main()"

Транскрипт

1 Функции Функции представляют собой блоки кода, позволяющие выполнять одни и те же операции над различными значениями данных. Функции определяются один раз и могут вызываться из любой точки приложения. Определение функции состоит из следующих элементов: Два ключевых слова: static и типа возвращаемого значения (void, если ничего не возвращает). Имя функции, за которым следуют круглые скобки, внутри которых размещаются параметры. Заключенный в фигурные скобки блок кода, который подлежит выполнению. Параметры в определении функции обычно называют формальными. Их имена используются в коде функции. При вызове функции на место формальных параметров подставляются их значения (фактические параметры), которые должны указываться точно так, как в определении функции, т.е. в соответствующем количестве и порядке. Параметры, передаваемые функции, могут быть трех видов: параметры-значения, параметры-ссылки и выходные параметры. При использовании параметра-значения в функцию передается копия значения переменной из вызывающей функции и ее изменение в функции не изменяет значение переменной в вызывающей функции. При использовании параметров-ссылок и выходных параметров в функцию передается адрес переменной из вызывающей функции, что дает ей возможность доступа к самой переменной. Параметры-ссылки и выходные параметры используют модификаторы ref и out перед параметром как в определении, так и в вызове функции. Существуют два важных отличия: В качестве параметра ref применять неинициализированную переменную нельзя, а в качестве out можно. Параметр out должен трактоваться функцией, которая его использует, как не имеющий присвоенного значения. Преимущества использования функций по сравнению с многократным использованием повторяющегося кода: Так как код функции хранится в одном месте памяти, это существенно упрощает внесение в него изменений и позволяет при этом избежать множества возможных ошибок. Код приложения сокращается за счет группировки внутренних действий и становится удобочитаемым. Предлагаемое рассмотрение функций охватывает следующие ключевые моменты: Определение и использование функций в консольных приложениях. Обмен данными с функциями через возвращаемые значения, параметры и глобальные переменные. Передача параметров по ссылке и по значению. Использование параметров командной строки функции main(). Перегрузка функций. Любой проект консольного или оконного типа должен иметь по крайней мере одну точку входа, определяемую статической функцией Main(). Каждая функция, в том числе и функция Main(), должна принадлежать какому-нибудь классу, т.е. быть методом. Функция

2 Main() объявляется как статический метод, не требующий создания экземпляра (Instance) класса для ее вызова. (Внимание! В приложении, имеющем несколько классов, функция Main() может входить в несколько из них. В этом случае для определения единственной точки входа нужно определить через окно свойств проекта, какой именно класс будет стартовым для данного приложения.) Обмен данными с функциями через возвращаемые значения, параметры и глобальные переменные. Глобальные переменные Скомпилируйте и выполните (по очереди) все фрагменты программ Пример 1 и Пример 2 (включая закомментированные) и объясните результаты. Пример 1. //Область видимости переменных в функциях namespace Func01 /* static void Write() Console.WriteLine("myString = 0",myString);//ошибка string mystring = "String defined in Main()");//не используется Write(); //описать последовательность выполнения операторов /* static void Write() string mystring = "строка из Write()";//локальная Console.WriteLine("\n это Write()!"); Console.WriteLine("myString = 0", mystring); string mystring = "строка из Main()";//локальная переменная Write(); Console.WriteLine("\n это Main()"); Console.WriteLine("myString = 0", mystring); static string mystring;//глобальная переменная static void Write() string mystring = "строка из Write()";//локальная переменная

3 Console.WriteLine("\n это Write()"); Console.WriteLine("Local mystring = 0", mystring); Console.WriteLine("Global mystring = 0", Program.myString); string mystring = "строка из Main()";//локальная переменная Program.myString = "Global string"; Write(); Console.WriteLine("\n это Main()"); Console.WriteLine("Local mystring = 0", mystring); Console.WriteLine("Global mystring = 0", Program.myString); // Пример 2 //область видимости переменных в других структурах namespace Func02 /* int i; for (i = 0; i < 10; i++) string text = "строка " + Convert.ToString(i); Console.WriteLine("0", text); Console.WriteLine("вывод текста в цикле: 0", text);//ошибка int i; string text; for (i = 0; i < 10; i++) text = "строка " + Convert.ToString(i); Console.WriteLine("0", text); Console.WriteLine("вывод текста в цикле: 0", text);//ошибка /* text - ссылка, которая инициализируется внутри блока, а при выходе из блока выделенная в нем ОП не доступна (освобождается сборщиком мусора). /* int i; string text = " ";

4 for (i = 0; i < 10; i++) text = "строка " + Convert.ToString(i); Console.WriteLine("0", text); Console.WriteLine("вывод текста в цикле: 0", text); Локальные переменные методов не получают значений по умолчанию автоматически и поэтому должны явно их получать либо через заголовок метода в виде фактических аргументов, либо через оператор присваивания. Компилятор строго следит за этим и при попытке использования переменной без значения выдает ошибку. Использование параметров и возвращаемых значений Модификаторы параметров методов В C# формальные параметры метода при его объявлении называют просто параметрами, а фактические параметры, передаваемые методу вызывающей стороной (клиентом) при его вызове - аргументами. В языке C# существуют два типа переменных - типы, характеризуемые значением и ссылочные типы. Переменные типа значения содержат именованные данные (имя определяет адрес в ОП, где хранится значение), к которым относятся все числовые типы, структуры и перечисления. Они создаются при компиляции программы и размещаются в стековой области памяти при загрузке программы. Ссылочные типы содержат адреса участков памяти, создаваемых динамически при выполнении программы, и представляют неименованные данные (имя определяет адрес в ОП, в которой хранится адрес ячейки со значением). Объявление типа Таблица 1. Объекты типа значения и ссылки Создание объекта Встроенный тип - значение int a; int a = new int(); Пользовательский тип значение struct MyStruct public x, y; Пользовательский тип - ссылка class MyClass public x, y; MyStruct point; // Объявили ссылку MyClass point; // Создали и привязали объект point = new MyClass(); Альтернативный синтаксис создания объекта MyStruct point = new MyStruct(); MyClass point = new MyClass(); При выполнении операции присваивания в переменные - значения копируются сами данные, в переменные - ссылки копируется адрес расположения данных. В C# предлагаются модификаторы параметров, которые обеспечивают контроль со стороны компилятора за действиями программиста при вызове этих методов и передаче им фактических аргументов.

5 Таблица 2. Модификаторы параметров в C# Модификатор Описание (нет) Если параметр метода не помечен модификатором, то предполагается передача параметра по значению, т.е. в вызываемый метод передается копия оригинальных данных out params ref Выходной параметр устанавливается вызываемым методом и передается по ссылке. Если вызываемый метод не присвоит выходному параметру значение, то генерируется ошибка компиляции Позволяет переслать произвольное число аргументов одинакового типа в виде единого параметра (массив параметров). Для любого метода допускается только один модификатор params и только для последнего по порядку следования параметра Передается ссылка на данные клиента, которые метод может менять внутри себя. Фактически метод работает с данными, размещенными вне его Внутренние (private) методы обычно параметров не имеют, поскольку все объявленные в классе поля видимы внутри методов класса (являются для них глобальными). Параметры нужны для общедоступных (public) методов, с которыми общаются клиенты класса и передают через них новые значения данных. Такие методы называются интерфейсными, включая и конструкторы. Входные параметры, представленные значением При передаче именованного параметра он передается по значению, т.е. внутри метода создается копия подключенных данных и метод работает с этой копией. Оригинальные данные клиента метода не меняются и вызывающая сторона не увидит выполненных изменений. Это самый безопасный способ передачи, когда по исходным данным нужно получить какой-то результат, оставив сами данные без изменений. //параметры и возвращаемые значения вместо глобальных данных namespace Func03 /* static void ShowDouble(ref int val) val *= 2; Console.WriteLine("Удвоенное значение val = 0", val); int val = 5; Console.WriteLine("val = 0", val); ShowDouble(ref val); Console.WriteLine("val = 0", val); static int val;//глобальная переменная static void ShowDouble() val *= 2; Console.WriteLine("Удвоенное значение val = 0", val);

6 val = 5; // int val = 5; Console.WriteLine("val = 0", val); ShowDouble(); Console.WriteLine("val = 0", val); Мы видим, что изменение параметров-значений внутри метода не изменяет данных, хранящихся в вызывающей стороне, поскольку метод работает с копиями. Заметим, что когда методу передается ссылка на объект, то метод всегда работает с внешними данными, то есть с самим объектом. Выходные параметры, представленные значением Те параметры-значения, которые планируется изменять внутри метода, следует обозначать как выходные с помощью ключевого слова out. Это требуется делать и в объявлении метода, и в его вызове. Пометим в предыдущем примере параметр как выходной. Выполнив измененную программу, мы увидим, что отмеченные как выходные, параметры меняют в вызывающем коде свои значения. Им в клиенте не обязательно присваивать значения, все равно метод их изменит (если перед использованием в клиенте им не присвоить значение, то компилятор выдаст ошибку). Ссылочные параметры, определенные явно Явное определение параметра-ссылки выполняется с помощью ключевого слова ref. Это требуется делать и в объявлении метода, и в его вызове. Ссылки представляют собой адреса участков памяти, где хранятся данные. Если методу передать ссылку на эту память, то он будет работать с самими данными, а не их копиями, как это происходит с передачей параметра по значению. Если ссылке не присвоить конкретный адрес перед ее передачей методу, то сгенерируется ошибка компиляции, поскольку нельзя использовать в методе неинициализированные данные, в том числе и ссылки. Ссылочные параметры, определенные неявно Объекты ссылочного типа адресуются в программе ссылками. Их также можно передать методам по значению. Только при этом в методе создается не копия объекта, а копия ссылки (alias - псевдоним), которая будет адресоваться к тому же объекту. Это значит, что метод будет работать с самим переданным объектом, а не с его копией. Но изменение значения самого псевдонима никак не отразится на переданной из клиента ссылке она в клиенте по-прежнему будет адресоваться к самому объекту. Если в метод передать ссылку на объект с модификатором ref, тогда в методе окажется адресная переменная самой ссылки (ссылка на ссылку) и смена значения этой адресной переменной изменит значение ссылки, что приведет к адресации на новый объект. //Перестановка строк namespace FuncSwap

7 public static void SwapRef(ref string str1, ref string str2) string tmp = str1; str1 = str2; str2 = tmp; static void Main() string string1 = "Первая строка"; string string2 = "Вторая строка"; string str1 = string1; string str2 = string2; Console.WriteLine("string -до вызова: \t0,1",string1, string2); SwapRef(ref string1,ref string2); Console.WriteLine("- после вызова: \t0,1", string1, string2); Console.WriteLine("После вызова (str): \t0,1", str1, str2); Console.ReadLine(); Поскольку строки представляют собой объекты ссылочного типа, то метод обменивает значения ссылок, которые будут адресоваться к новым строкам. Передача методу переменного количества аргументов Иногда необходимо, чтобы метод принимал произвольное число аргументов. Для этого при объявлении метода применяется специальный параметр, который заменяет собой произвольное количество однотипных параметров. Этот параметр объявляется как массив с ключевым словом params. Он организует прием произвольного количества аргументов, в том числе и нулевое. Важно, чтобы множественный параметр при объявлении стоял последним в списке параметров метода. static int SumVal(params int[] vals)//определение функции int sum =0; return sum; static void main() int sum = SumVals(1,-3,5,7);//вызов функции Функция main(): аргументы командной строки Необязательный параметр args в функции Main() дает возможность передавать в приложение информацию извне во время выполнения. Эта информация задается в виде параметров командной строки. Для задания параметров командной строки нужно перейти на вкладку Project => Properties => Debug и ввести через пробел строки-

8 аргументы в поле Comand Line Arguments. Если параметр-строка содержитт пробелы, то ее следует взять в кавычки. При выполнении приложения все заданные параметры помещаются в массив строк args. Вам уже наверняка доводилось встречаться с параметрами командной строки. При запуске приложения из командной строки информацию, вроде того, какой файл требуется загрузить на время работы приложения, часто можно задавать напрямую. Например, возьмем доступное в Windows приложение Notepad. Это приложение можно запустить путем ввода Notepad в окне командной строки или в окне, которое появляется при выборе в меню Start (Пуск) пункта Run (Выполнить). Вместо Notepad в этих окнах можно также ввести и что-то вроде Notepad myfile.txt. Тогда приложение Notepad при запуске либо сразу же загрузит файл по имени myfile.txt, либо предложит создать файл с таким именем, если он не существует. В данном случае myfile.txt является аргументом командной строки. Именно такое поведение и позволяет обеспечивать в консольных приложениях параметр args. //функция main(): аргументы командной строки. //Установите 3 аргумента: 256 File.txt Hello C#! namespace Func05 Console.WriteLine("0 аргументы строки запуска", args.length); //вывод аргументов командной строки for(int i=0;i<args.length;i++) //foreach (string arg in args) Console.WriteLine(args[i]); int n = Convert.ToInt32(args[0]) +4; Console.WriteLine (" n = 0", n); Перегрузка функций Механизм перегрузки функций позволяет создавать множество функций, имеющих одинаковое имя, но работающих с разными типами параметров (имеющих разный код). Прелесть такого использования функций состоит в том, что не требуется указывать явным образом, какая именно из этих версий функции должна использоваться: подходящая версия может быть выбрана компилятором автоматически в зависимости от типа параметров.

4 Классы. 4.1 Основы классов

4 Классы. 4.1 Основы классов 4 Классы Класс центральный компонент Java. Поскольку класс определяет форму и сущность объекта, он является той логической конструкцией, на основе которой построен весь язык. Как таковой, класс образует

Подробнее

Массивы (#2) watch.start(); for (int i = 0; i < iterations; i++) DayOfYear1(rand.Next(12), rand.next(1, 29));

Массивы (#2) watch.start(); for (int i = 0; i < iterations; i++) DayOfYear1(rand.Next(12), rand.next(1, 29)); Массивы (#2) В классических языках для создания типов переменных, содержащих ряд объектов или значений, использовались массивы. С массивами, однако, связаны свои ограничения. Наибольшее из них состоит

Подробнее

Простейшая программа Hello, world!

Простейшая программа Hello, world! Простейшая программа Hello, world! // System.out.println("Привет, мир!"); Обязательные требования: 1) Имя файла, содержащего код программы, должно совпадать с именем класса 2) Файл должен иметь расширение.java

Подробнее

времени выполнения) компилирует ее содержимое в машинный код

времени выполнения) компилирует ее содержимое в машинный код 1. Объектно-ориентированное программирование 1 1.1. Введение в.net и С# Microsoft.NET это платформа для разработки прикладных программ, основанная и ориентированная на Интернет..NET основывается на двух

Подробнее

Ключевые слова языка С#

Ключевые слова языка С# 1 abstract, см. также 11, 55 2 as, см. также 37 Ключевые слова языка С# Модификатор abstract используется при объявлении класса, метода или свойства. Использование модификатора abstract в объявлении класса

Подробнее

Лекция 2. Как выполняются программы на C++

Лекция 2. Как выполняются программы на C++ http://compscicenter.ru 1/21 Лекция 2. Как выполняются программы на C++ Александр Смаль CS центр 15 сентября 2016 Санкт-Петербург http://compscicenter.ru 2/21 Типы данных Целочисленные: 1. char (символьный

Подробнее

Семинар 5. Статические элементы данных и функции. Наследование. Виртуальные методы.

Семинар 5. Статические элементы данных и функции. Наследование. Виртуальные методы. Семинар 5. Статические элементы данных и функции. Наследование. Виртуальные методы. 1. Статическая (static) переменная класса Добавим в определение класса статическую переменную: private: // double x;

Подробнее

Тема 1.1 Функции в С. Понятие функции

Тема 1.1 Функции в С. Понятие функции Тема 1.1 Функции в С Понятие функции Опыт показывает, что для написания больших программ лучше пользоваться функциями. В таком случае программа будет состоять из отдельных фрагментов кода. Такой отдельный

Подробнее

Лабораторная работа 9

Лабораторная работа 9 Лабораторная работа 9 Алгоритмизация и программирование ХАРЬКОВСКИЙ НАЦИОНАЛЬНЫЙ АВТОМОБИЛЬНО-ДОРОЖНЫЙ УНИВЕРСИТЕТ ФАКУ ЛЬТЕТ КОМПЬЮТЕРНЫХ ТЕХНОЛОГИЙ И МЕХАТРОНИКИ Кафедра информационных технологий и мехатроники

Подробнее

МАССИВЫ В ЯЗЫКЕ C# тип [] имя; new тип [размер];

МАССИВЫ В ЯЗЫКЕ C# тип [] имя; new тип [размер]; МАССИВЫ В ЯЗЫКЕ C# Массив - это составной объект, состоящий из элементов одного типа. Простейшей разновидностью массива является одномерный массив, который можно рассматривать как информационную модель

Подробнее

Лабораторная работа 1

Лабораторная работа 1 Лабораторная работа 1 Объектно-ориентированное программирование ХАРЬКОВСКИЙ НАЦИОНАЛЬНЫЙ АВТОМОБИЛЬНО-ДОРОЖНЫЙ УНИВЕРСИТЕТ ФАКУ ЛЬТЕТ КОМПЬЮТЕРНЫХ ТЕХНОЛОГИЙ И МЕХАТРОНИКИ Кафедра информационных технологий

Подробнее

4.13. Строки. 10 символов char string[11]; "строка в кавычках" Строковая константа - char str[ ] = Counted by compiler! ;

4.13. Строки. 10 символов char string[11]; строка в кавычках Строковая константа - char str[ ] = Counted by compiler! ; -одномерные массивы типа char, заканчивающийся нулевым байтом - '\0 или '\x0 10 символов char string[11]; 4.13. Строки Строковая константа - "строка в кавычках" добавляется '\0 char str[ ] = Counted by

Подробнее

Одномерные массивы. Лабораторная работа 9

Одномерные массивы. Лабораторная работа 9 Лабораторная работа 9 Одномерные массивы Массивы. Ссылочные типы и null. Часто в программах требуется завести большое количество переменных одного и того же типа. Можно, конечно, написать большое количество

Подробнее

Методические указания для выполнения лабораторных работ по дисциплине «Объектно-ориентированный анализ и программирование»

Методические указания для выполнения лабораторных работ по дисциплине «Объектно-ориентированный анализ и программирование» МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Владимирский государственный университет имени Александра Григорьевича

Подробнее

Функции. Функция поименнованная часть программы, которая может вызываться из других частей программы неограниченное число раз.

Функции. Функция поименнованная часть программы, которая может вызываться из других частей программы неограниченное число раз. Функции Функция поименнованная часть программы, которая может вызываться из других частей программы неограниченное число раз. Это отдельная подпрограмма, управляемая входами и возвращающая что-то на выходе.

Подробнее

Языки программирования и методы трансляции

Языки программирования и методы трансляции Языки программирования и методы трансляции Имена, связывание, области видимости 1 Время связывания 2 3 Статические области видимости Динамические области видимости Имя, область видимости и связывание Имя

Подробнее

о значениях и ссылках

о значениях и ссылках 8 Основные сведения о значениях и ссылках Прочитав эту главу, вы научитесь: ¾ объяснять разницу между типом значений и типом ссылок; ¾ изменять способ передачи аргументов в качестве параметров методов

Подробнее

4. Понятие класса. Программа 7. Класс Box

4. Понятие класса. Программа 7. Класс Box 4. Понятие класса Класс определяет новый тип данных, используя который можно определять переменные этого типа, которые называются объектами или экземплярами класса. Объявление класса имеет вид: class classname

Подробнее

Обобщения. Основные понятия

Обобщения. Основные понятия Обобщения. Основные понятия Термин «обобщение», по существу, означает параметризированный тип. Особая роль параметризированных типов состоит в том, что они позволяют создавать классы, структуры, интерфейсы,

Подробнее

Семинар 4. Дружественные функции. Перегрузка операторов. Динамическое распределение памяти.

Семинар 4. Дружественные функции. Перегрузка операторов. Динамическое распределение памяти. Семинар 4. Дружественные функции. Перегрузка операторов. Динамическое распределение памяти. 1. Дружественные функции Дружественные функции обладает такими же правами доступа к данным класса, как и его

Подробнее

ЛЕКЦИЯ 3. КЛАССЫ ХРАНЕНИЯ, СВЯЗЫВАНИЕ И УПРАВЛЕНИЕ ПАМЯТЬЮ

ЛЕКЦИЯ 3. КЛАССЫ ХРАНЕНИЯ, СВЯЗЫВАНИЕ И УПРАВЛЕНИЕ ПАМЯТЬЮ ЛЕКЦИЯ 3. КЛАССЫ ХРАНЕНИЯ, СВЯЗЫВАНИЕ И УПРАВЛЕНИЕ ПАМЯТЬЮ Содержание 1. Область видимости... 1 2. Длительность хранения.. 3 3. Связывание... 5 4. Классы хранения... 6 4.1. Автоматические переменные...

Подробнее

Классы, объекты и методы

Классы, объекты и методы 4 Классы, объекты и методы 4.1. Введение Эта глава начинается с объяснения концепции классов на реальном примере. Затем будут рассмотрены пять приложений, которые демонстрируют принципы создания и использования

Подробнее

Курс «Алгоритмы и алгоритмические языки» 1 семестр 2016/2017. Лекция 8

Курс «Алгоритмы и алгоритмические языки» 1 семестр 2016/2017. Лекция 8 Курс «Алгоритмы и алгоритмические языки» 1 семестр 2016/2017 Лекция 8 1 Указатели & - операция адресации * - операция разыменования int a = 1; int *p; p = &a; *p = 2; printf ("Значение переменной a = %d\n",

Подробнее

Задание 1. Ваша программа должна выполнять следующие действия:

Задание 1. Ваша программа должна выполнять следующие действия: Задание 1. Цель: Конструирование пользовательского типа данных структур, создание массива структур в динамической памяти, ввод исходных данных из файла, запись результатов работы в файл. Задание: Создать

Подробнее

Программирование в C++ Преподаватель Колотова Людмила Павловна

Программирование в C++ Преподаватель Колотова Людмила Павловна Программирование в C++ Преподаватель Колотова Людмила Павловна 2 Содержание 4-го занятия по практике Работа с функциями. Простые и библиотечные функции Передача аргументов в функцию Значение, возвращаемое

Подробнее

Семинар 6. Наследование. Включение объектов и закрытое наследование. Множественное наследование. Шаблоны классов.

Семинар 6. Наследование. Включение объектов и закрытое наследование. Множественное наследование. Шаблоны классов. Семинар 6. Наследование. Включение объектов и закрытое наследование. Множественное наследование. Шаблоны классов. 1. Наследование и динамическое распределение памяти Пусть в базовом классе осуществляется

Подробнее

Распределение памяти

Распределение памяти Распределение памяти Распределение памяти - это процесс, в результате которого отдельным элементам исходной программы ставятся в соответствие адрес, размер и атрибуты области памяти, необходимой для размещения

Подробнее

Концепции языков программирования

Концепции языков программирования Распределение памяти Распределение памяти 1 Статическое выделение пямяти 2 3 Распределение памяти 1 Статическое выделение пямяти 2 3 Статическое выделение пямяти Выделение памяти на этапе загрузки программы

Подробнее

Классы и объекты. ООП (объектно ориентированное программирование) - парадигма программирования в которой

Классы и объекты. ООП (объектно ориентированное программирование) - парадигма программирования в которой Классы и объекты ООП (объектно ориентированное программирование) - парадигма программирования в которой основными концепциями являются понятия объектов и классов. Класс (lat. группа ) - группа явлений

Подробнее

Эта глава предлагает молниеносное турне на тему возможностей языка C#. Да,

Эта глава предлагает молниеносное турне на тему возможностей языка C#. Да, Глава 3 Краткий обзор языка C# Эта глава предлагает молниеносное турне на тему возможностей языка C#. Да, мы уже слышим ваши возражения: Но ведь просто невозможно сжать всю информацию о C# в одну главу!

Подробнее

Лекция 9 Опасный код. Общие понятия. Основы использования указателей

Лекция 9 Опасный код. Общие понятия. Основы использования указателей Лекция 9 Опасный код Общие понятия С С# позволяет программистам писать то, что называется "опасный кодом" (unsafe code). Опасный код это код, который не плохо написан, а код, который не выполняется под

Подробнее

Язык программирования Си++ Семинар 2. Массивы объектов. Массивы переменной длины. Операторы new, delete. Указатели. Ссылки.

Язык программирования Си++ Семинар 2. Массивы объектов. Массивы переменной длины. Операторы new, delete. Указатели. Ссылки. Язык программирования Си++ Иванов А.П., Князева О.С. Семинар 2. Массивы объектов. Массивы переменной длины. Операторы new, delete. Указатели. Ссылки. 1. Массивы объектов Встроенное в язык Си++ понятие

Подробнее

Алгоритмизация и программирование Программирование на С/С++ (ч.7 функции)

Алгоритмизация и программирование Программирование на С/С++ (ч.7 функции) Алгоритмизация и программирование Программирование на С/С++ (ч.7 функции) Беркунский Е.Ю., кафедра ИУСТ, НУК eugeny.berkunsky@gmail.com http://www.berkut.mk.ua Функции в С/С++ Опытные программисты знают,

Подробнее

ЛЕКЦИЯ 4 МАССИВЫ И УКАЗАТЕЛИ

ЛЕКЦИЯ 4 МАССИВЫ И УКАЗАТЕЛИ ЛЕКЦИЯ 4 МАССИВЫ И УКАЗАТЕЛИ 1. Массивы Массив это набор однородных элементов фиксированной длины. Память для массивов выделяется одним куском. При инициализации массива записывается тип элементов массива,

Подробнее

Введение в С++11 (стандарт ISO/IEC 14882:2011 Вне рассмотрения в рамках курса остаются нововведения для работы с шаблонами:

Введение в С++11 (стандарт ISO/IEC 14882:2011 Вне рассмотрения в рамках курса остаются нововведения для работы с шаблонами: (стандарт ISO/IEC 14882:2011 ) Вне рассмотрения в рамках курса остаются нововведения для работы с шаблонами: ведение понятий лямбда-функций и выражений, внешние шаблоны, альтернативный синтаксис шаблонных

Подробнее

Концепции языков программирования

Концепции языков программирования Объектно-ориентированные языки программирования Темы 1 История 2 3 4 5 История Абстракция данных: SIMULA 67 (1962 1967) Спроектирован в Норвегии Нигардом и Далем, главным образом, для моделирования сложных

Подробнее

4.13 Список аргументов переменной длины

4.13 Список аргументов переменной длины 4.13 Список аргументов переменной длины В JDK 5 была добавлена новая функциональная возможность, которая упрощает создание методов, принимающих переменное количество аргументов. Это средство получило название

Подробнее

ООП. С++. Вопросы для проверки и закрепления знаний. 7. Проанализируйте ранее разработанные Вами программы

ООП. С++. Вопросы для проверки и закрепления знаний. 7. Проанализируйте ранее разработанные Вами программы ООП. С++. Вопросы для проверки и закрепления знаний. 1. Проанализируйте ранее разработанные Вами программы и ответьте на вопрос: в каких из них наблюдается слабая связь между структурой данных и функционированием

Подробнее

Лекция 2. Основные понятия объектно-ориентированного подхода: объекты, классы и методы и их реализация в С#

Лекция 2. Основные понятия объектно-ориентированного подхода: объекты, классы и методы и их реализация в С# Лекция 2. Основные понятия объектно-ориентированного подхода: объекты, классы и методы и их реализация в С# В лекции рассмотрены вопросы, относящиеся к идеологии, методологии и практике моделирования основных

Подробнее

Перечисления и массивы

Перечисления и массивы Перечисления и массивы 1 Перечислимый тип данных Перечисление отдельный тип-значение, содержащий совокупность именованных констант. Пример: enum Color : long { Red, Green, Blue Базовый класс - System.Enum.

Подробнее

Лабораторная работа 1 Знакомство со средой Microsoft Visual Studio 2010 (Ultimate)

Лабораторная работа 1 Знакомство со средой Microsoft Visual Studio 2010 (Ultimate) Лабораторная работа 1 Знакомство со средой Microsoft Visual Studio 2010 (Ultimate) 1. Запустите среду разработки: меню Пуск \ Программы \ Microsoft Visual Studio 2010 \Microsoft Visual Studio 2010. Появится

Подробнее

ЛАБОРАТОРНАЯ РАБОТА 2. ПРОГРАММИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ ОДНОМЕРНЫХ МАССИВОВ

ЛАБОРАТОРНАЯ РАБОТА 2. ПРОГРАММИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ ОДНОМЕРНЫХ МАССИВОВ ЛАБОРАТОРНАЯ РАБОТА 2. ПРОГРАММИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ ОДНОМЕРНЫХ МАССИВОВ Цель лабораторной работы: Изучить способы получения случайных чисел. Написать программу для работы с одномерными массивами.

Подробнее

Глава 15 Делегаты БИЛЛ ВАГНЕР ЭРИК ЛИППЕРТ

Глава 15 Делегаты БИЛЛ ВАГНЕР ЭРИК ЛИППЕРТ Глава 15 Делегаты Делегаты предназначены для случаев, в которых C++, Pascal и Modula используют указатели на функции. В отличие от последних в C++ делегаты являются полностью объектно-ориентированными.

Подробнее

Объектно-ориентированны й анализ и программирование на языке C# (C_Sharp)

Объектно-ориентированны й анализ и программирование на языке C# (C_Sharp) Государственный университет Высшая школа экономики Факультет Бизнес-Информатики Кафедра Основ информатики и прикладного программного обеспечения Объектно-ориентированны й анализ и программирование на языке

Подробнее

ВВЕДЕНИЕ В VISUAL BASIC FOR APPLICATIONS

ВВЕДЕНИЕ В VISUAL BASIC FOR APPLICATIONS 2 ВВЕДЕНИЕ В VISUAL BASIC FOR APPLICATIONS Информатика 2 семестр План лекции 1. Макросы и язык VBA 2. Объектно-ориентированные аспекты VBA 3. Переменные и типы данных 4. Ветвления 5. Циклы 6. Функции 7.

Подробнее

Основы платформы Microsoft.NET

Основы платформы Microsoft.NET Основы платформы Microsoft.NET Тема: Управление памятью Переменные величины и ссылки...1 Выделение памяти...2 Удаление объектов из памяти...4 Дефрагментация кучи...4 Поколения объектов...5 Деструкторы...7

Подробнее

КЛАССЫ.NET ДЛЯ РАБОТЫ С ПРОЦЕССАМИ

КЛАССЫ.NET ДЛЯ РАБОТЫ С ПРОЦЕССАМИ NovaInfo.Ru - 11, 2013 г. Технические науки 1 КЛАССЫ.NET ДЛЯ РАБОТЫ С ПРОЦЕССАМИ Кириченко Александр Аполлонович Пространство имён System.Diagnostics содержит 7 классов и 2 перечисления. Для управления

Подробнее

Языки программирования и методы трансляции

Языки программирования и методы трансляции Языки программирования и методы трансляции Подпрограммы Подпрограммы и абстракция управления потоком Подпрограммы позволяют скрыть код за интерфейсом, который может быть использован независимо от реализации.

Подробнее

Программирование в Matlab

Программирование в Matlab Программирование в Matlab Типы программных файлов Программный код Matlab размещают в файлах с расширением «m» (m-файлах) m-файлы бывают двух видов: скрипты (scripts) функции (functions) 2 Скрипты Представляют

Подробнее

Тема 5. Структура программы, выражения, операции, операторы

Тема 5. Структура программы, выражения, операции, операторы Тема 5. Структура программы, выражения, операции, операторы 5.1. Структура программы. Программы в среде разработки Delphi строятся на принципах модульной компоновки. Модуль это автономно компилируемая

Подробнее

2.3. Область действия и время жизни переменных

2.3. Область действия и время жизни переменных 2.1. Строки Строки это последовательности символов, заключенные в кавычки. Символы внутри строк можно представлять их знаками или эскейп-последовательностями, например, abc\tabc\n123\0101\0102.строка символов

Подробнее

Лабораторная работа 1: Основы программирования на языке C#

Лабораторная работа 1: Основы программирования на языке C# Цель: Лабораторная работа 1: Основы программирования на языке C# Целью данной работы является получение базовых навыков программирования на языке высокого уровня C# в среде программирования Microsoft Visual

Подробнее

Шаблоны ( template) средство языка C++, предназначенное для кодирования обобщённых алгоритмов, без привязки к некоторым параметрам (например, типам

Шаблоны ( template) средство языка C++, предназначенное для кодирования обобщённых алгоритмов, без привязки к некоторым параметрам (например, типам Шаблоны 2013 Шаблоны ( template) средство языка C++, предназначенное для кодирования обобщённых алгоритмов, без привязки к некоторым параметрам (например, типам данных, размерам буферов, значениям по умолчанию)

Подробнее

Типы данных и управляющие структуры Java

Типы данных и управляющие структуры Java Типы данных и управляющие структуры Java Евгений Беркунский, НУК eugeny.berkunsky@gmail.com http://berkut.homelinux.com Что такое тип данных? Тип данных: Спектр значений Набор допустимых операций Программа

Подробнее

Содержание. Часть I. Погружение в С++ Глава 1. Введение и настройка среды разработки...20

Содержание. Часть I. Погружение в С++ Глава 1. Введение и настройка среды разработки...20 Содержание Часть I. Погружение в С++ Глава 1. Введение и настройка среды разработки...20 Что такое язык программирования?...20 В чем различие между C и C++?.........................................21 Обязательно

Подробнее

Общие понятия На основе делегатов построено еще одно важное средство объектно-ориентированного программирования:

Общие понятия На основе делегатов построено еще одно важное средство объектно-ориентированного программирования: Лекция 7 События. Cобытия Общие понятия На основе делегатов построено еще одно важное средство объектно-ориентированного программирования: событие (event). Событие это автоматическое уведомление о выполнении

Подробнее

Введение в объектно-ориентированное программирование.

Введение в объектно-ориентированное программирование. Лабораторная работа 12 Введение в объектно-ориентированное программирование. Цель работы. Изучение основ объектно-ориентированного программирования на языке Java. Содержание работы. В работе рассматриваются

Подробнее

Теория и технология программирования Основы программирования на языках C и C++

Теория и технология программирования Основы программирования на языках C и C++ Теория и технология программирования Основы программирования на языках Лекция 17. Стандарты и реализации Глухих Михаил Игоревич, к.т.н., доц. mailto: glukhikh@mail.ru Основные стандарты и реализации Язык

Подробнее

Вопросы для самопроверки

Вопросы для самопроверки Вопросы для самопроверки Программирование на языке С 11 ноября 2014 г. Лекция 1. Вводная 1. Какие существуют аспекты разработки ПО? Подходы к разработке? 2. Какие признаки характеризуют любительский подход?

Подробнее

Массивы. Массив множество однотипных элементов. Любой массив является производным от класса System.Array

Массивы. Массив множество однотипных элементов. Любой массив является производным от класса System.Array Массивы Массивом называют упорядоченную последовательность элементов одного типа. Каждый элемент массива имеет индексы, определяющие порядок элементов. Массив множество однотипных элементов. Любой массив

Подробнее

Объектно-ориентированное программирование в PHP для начинающих

Объектно-ориентированное программирование в PHP для начинающих Объектно-ориентированное программирование в PHP для начинающих Доброго времени суток, уважаемые читатели нашего блога! Добро пожаловать на первый урок из серии уроков по объектноориентированному программированию

Подробнее

Основы платформы Microsoft.NET

Основы платформы Microsoft.NET Основы платформы Microsoft.NET Тема: Обработка ошибок Понятие исключения...1 Обработка исключений...2 Блок try...2 Блок catch...3 Блок finally...3 Пример обработки исключений...3 Обработка нескольких исключений...5

Подробнее

и TypeScript: часть 2

и TypeScript: часть 2 6 JavaScript и TypeScript: часть 2 В этой главе будут представлены некоторые расширенные возможности JavaScript, применяемые в разработке Angular. Я объясню, как JavaScript работает с объектами (включая

Подробнее

Подсистема управления процессами и вычислениями ОГЛАВЛЕНИЕ

Подсистема управления процессами и вычислениями ОГЛАВЛЕНИЕ Приложение 4 Подсистема управления процессами и вычислениями ОГЛАВЛЕНИЕ 1. Общие сведения... 2 2. Моделирование состояний и рабочих процессов... 2 2.1. Управление списком групп состояний... 2 2.2. Создание

Подробнее

Контрольная работа. Конструирование простейшего класса

Контрольная работа. Конструирование простейшего класса Контрольная работа Конструирование простейшего класса При выполнении контрольной работы студент должен продемонстрировать умение сконструировать класс с заданным набором данных, создать объекты на основе

Подробнее

ИНСТРУМЕНТЫ И СРЕДСТВА ПРОГРАММИРОВАНИЯ

ИНСТРУМЕНТЫ И СРЕДСТВА ПРОГРАММИРОВАНИЯ Министерство образования Республики Беларусь Учреждение образования «Белорусский государственный университет информатики и радиоэлектроники» Кафедра информатики А.А. Волосевич ИНСТРУМЕНТЫ И СРЕДСТВА ПРОГРАММИРОВАНИЯ

Подробнее

Фонд оценочных средств для проведения промежуточной аттестации обучающихся по дисциплине

Фонд оценочных средств для проведения промежуточной аттестации обучающихся по дисциплине Общие сведения 1. Кафедра Фонд оценочных средств для проведения промежуточной аттестации обучающихся по дисциплине 2. Направление подготовки 3. Дисциплина 4. Тип заданий 5. Количество этапов формирования

Подробнее

ПЕРЕМЕННЫЕ И КОНСТАНТЫ

ПЕРЕМЕННЫЕ И КОНСТАНТЫ ПЕРЕМЕННЫЕ И КОНСТАНТЫ Переменные Основной способ сохранения информации в ходе выполнения программы PHP состоит в использовании переменных; этот способ предусматривает выбор некоторого имени переменной

Подробнее

Лабораторная работа 4. Массивы и индексаторы Теоретические сведенья 1. Структура массива в С# Массив это коллекция переменных одинакового типа,

Лабораторная работа 4. Массивы и индексаторы Теоретические сведенья 1. Структура массива в С# Массив это коллекция переменных одинакового типа, Лабораторная работа 4. Массивы и индексаторы Теоретические сведенья 1. Структура массива в С# Массив это коллекция переменных одинакового типа, обращение к которым происходит с использованием общего для

Подробнее

Абстрактные классы и методы

Абстрактные классы и методы Абстрактные классы и методы Абстрактные методы Абстрактные классы Расширение абстрактных классов Интерфейсы «Множественное наследование» в Java Вложенные интерфейсы Абстрактные классы и методы В ряде ситуаций

Подробнее

Содержание. Благодарности Предисловие... 12

Содержание. Благодарности Предисловие... 12 Содержание Благодарности... 11 Предисловие... 12 Урок 1. Первая программа... 20 1.1. Внешний вид и назначение приложения Умножитель... 20 1.2. Знакомство с визуальным программированием... 21 1.2.1. Форма...

Подробнее

Лекция 3. Операции и функции свободной памяти

Лекция 3. Операции и функции свободной памяти Название Лекция 3. и функции свободной памяти Проектирование ПО на C ++ 25 сентября 2010 г. Лекция 3 1 / 33 Объявления функций, использующих исключения Реализация функций выделения памяти Реализация обработчика

Подробнее

Теория и технология программирования Основы программирования на языках C и C++

Теория и технология программирования Основы программирования на языках C и C++ Теория и технология программирования Основы программирования на Лекция 13. Области действия и времена жизни Глухих Михаил Игоревич, к.т.н., доц. mailto: glukhikh@mail.ru Основные понятия Область действия

Подробнее

Массивы в Java. Лекция 6

Массивы в Java. Лекция 6 Лекция 6 Массивы в Java Массив это конечная последовательность упорядоченных элементов одного типа, доступ к каждому элементу в которой осуществляется по его индексу. Размер или длина массива это общее

Подробнее

Язык Си. Реализация списков с помощью цепочек динамических объектов

Язык Си. Реализация списков с помощью цепочек динамических объектов Язык Си. Реализация списков с помощью цепочек динамических объектов А. А. Вылиток В языке Си нет встроенных типов данных и операций для работы со списками. Программируя на языке Паскаль (в котором также

Подробнее

Классы, объекты и пакеты в Java

Классы, объекты и пакеты в Java Классы, объекты и пакеты в Java Алексей Владыкин 3 октября 2012 Алексей Владыкин Классы, объекты и пакеты в Java 3 октября 2012 1 / 42 1 Основы ООП 2 Объявление класса 3 Использование класса 4 Наследование

Подробнее

Введение 15 Об этой книге 15 Использованные в этой книге пиктограммы 17 Дополнительные источники информации 18 Что дальше 18 Ждем ваших отзывов!

Введение 15 Об этой книге 15 Использованные в этой книге пиктограммы 17 Дополнительные источники информации 18 Что дальше 18 Ждем ваших отзывов! Содержание Введение 15 Об этой книге 15 Использованные в этой книге пиктограммы 17 Дополнительные источники информации 18 Что дальше 18 Ждем ваших отзывов! 19 Часть I. Знакомство с C++ 21 Глава 1. Написание

Подробнее

Шаблоны (параметризованные типы)

Шаблоны (параметризованные типы) Лабораторная работа 2 Шаблоны (параметризованные типы) Цель работы: изучить представление и правила работы с шаблонами в С++. Теоретические сведения Использование шаблонов призвано, облегчить процесс написания

Подробнее

Например, следующий оператор объявляет массив из 100 целочисленных элементов с именем data:

Например, следующий оператор объявляет массив из 100 целочисленных элементов с именем data: Массивы Массив (или массив данных) это набор однородных элементов. Массив это пронумерованная ( или проиндексированная) последовательность величин одинакового типа, обозначаемая одним именем. Элементы

Подробнее

В.Л. Тарасов Лекции по программированию на C++

В.Л. Тарасов Лекции по программированию на C++ 60 В.Л. Тарасов Лекции по программированию на C++ Лекция 4 Массивы и вектора Массив представляет собой набор последовательно пронумерованных элементов одного типа. Все элементы массива имеют одно имя,

Подробнее

Операторы в JAVA. Лекция 4

Операторы в JAVA. Лекция 4 Лекция 4 Операторы в JAVA Ввод информации с клавиатуры Проще всего вводить числа с клавиатуры, пользуясь классом Scanner. Этот класс принадлежит пакету java.util. Следовательно, чтобы использовать его

Подробнее

Отчеты и обработки Отчеты и обработки

Отчеты и обработки Отчеты и обработки Отчеты и обработки Отчеты и обработки Любая система автоматизации учета только тогда выполняет свои функции, когда она имеет средства обработки накопленной информации и получения сводных данных в удобном

Подробнее

ООП основано на трех принципах: полиморфизм, наследование и инкапсуляция. Инкапсуляцию разобрали в прошлой лекции. Рассмотрим наследование.

ООП основано на трех принципах: полиморфизм, наследование и инкапсуляция. Инкапсуляцию разобрали в прошлой лекции. Рассмотрим наследование. Наследование. ООП основано на трех принципах: полиморфизм, наследование и инкапсуляция. Инкапсуляцию разобрали в прошлой лекции. Рассмотрим наследование. В С++ иерархия объектов реализована в концепции

Подробнее

Современные технологии программирования (часть 2)

Современные технологии программирования (часть 2) Гуляев Г.М. Современные технологии программирования (часть 2) Лекция 4. ООП на языке Scala Курс лекций для студентов АлтГТУ LOGO Классы В отличие от java декларация public не используется. Все классы в

Подробнее

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ ДЕРЖАВНИЙ ВИЩИЙ НАВЧАЛЬНИЙ ЗАКЛАД «ЗАПОРІЗЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ»

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ ДЕРЖАВНИЙ ВИЩИЙ НАВЧАЛЬНИЙ ЗАКЛАД «ЗАПОРІЗЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ» МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ ДЕРЖАВНИЙ ВИЩИЙ НАВЧАЛЬНИЙ ЗАКЛАД «ЗАПОРІЗЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ» Спеціальність 6.040302 Інформатика Дисципліна «Програмування» Підсумкова модульна контрольна

Подробнее

Рис.1 Начальная страница Microsoft Visual Studio 2010

Рис.1 Начальная страница Microsoft Visual Studio 2010 ЛАБОРАТОРНАЯ РАБОТА 5 Тема: Работа в среде Microsoft Visual Studio 2010 Цель работы: Навчиться работать в среде Microsoft Visual Studio 2010 Оборудование: ПК,ПО Microsoft Visual Studio 2010 Ход роботы

Подробнее

Лабораторная работа 9.

Лабораторная работа 9. Лабораторная работа 9. Функции пользователя Приёмы построения алгоритмов Для создания работающей программы разработчик должен пройти три основных этапа: проектирование построение алгоритма решения поставленной

Подробнее

Web-разработка на PHP-технологиях Курс лекций и семинаров для студентов, желающих научиться основам Web-разработки на PHP. Осень-Зима 2014.

Web-разработка на PHP-технологиях Курс лекций и семинаров для студентов, желающих научиться основам Web-разработки на PHP. Осень-Зима 2014. Web-разработка на PHP-технологиях Курс лекций и семинаров для студентов, желающих научиться основам Web-разработки на PHP Осень-Зима 2014 Лекция 3 PHP Синтаксис языка Переменные, константы, типы данных

Подробнее

Введение в ООП на C++: классы, объекты, поля, методы, операторы

Введение в ООП на C++: классы, объекты, поля, методы, операторы Введение в ООП на C++: классы, объекты, поля, методы, операторы А. Г. Фенстер, fenster@fenster.name 17 сентября 2010 г. Конспект семинара 1 по объектно-ориентированному программированию. Пожалуйста, не

Подробнее

ЛАБОРАТОРНАЯ РАБОТА 1 РАЗРАБОТКА ПРОСТЕЙШЕЙ ПРОГРАММЫ НА JAVA. 1 Цель занятия Сформировать практические навыки по использованию программирования Java.

ЛАБОРАТОРНАЯ РАБОТА 1 РАЗРАБОТКА ПРОСТЕЙШЕЙ ПРОГРАММЫ НА JAVA. 1 Цель занятия Сформировать практические навыки по использованию программирования Java. ЛАБОРАТОРНАЯ РАБОТА 1 РАЗРАБОТКА ПРОСТЕЙШЕЙ ПРОГРАММЫ НА JAVA 1 Цель занятия Сформировать практические навыки по использованию программирования Java. основ языка 2 Общие теоретические сведения 2.1 Введение

Подробнее

Лабораторная работа ОБРАБОТКА ОДНОМЕРНЫХ МАССИВОВ

Лабораторная работа ОБРАБОТКА ОДНОМЕРНЫХ МАССИВОВ Лабораторная работа ОБРАБОТКА ОДНОМЕРНЫХ МАССИВОВ Цель работы Изучение основных алгоритмов обработки одномерных массивов и средств реализации этих алгоритмов на языке Бейсик. Массивом называется упорядоченная

Подробнее

Объявление функций в С/С++

Объявление функций в С/С++ Объявление функций в С/С++ Описание функций в отдельных файлах В С++ существует возможность поместить объявления функций в отдельный файл, тогда необходимо будет подключать файл с функциями, как в случае

Подробнее

Руководство по стилю программирования

Руководство по стилю программирования Руководство по стилю программирования Версия 1.0 SantaFox developer Saint-Peterburg, 2008 Оглавление Введение... 3 Для кого это руководство... 3 О чём это руководство... 3 Отступы, длина строки и выравнивание...

Подробнее

YART Studio. Язык программирования C-YART

YART Studio. Язык программирования C-YART YART Studio Язык программирования C-YART Санкт-Петербург 2018 Оглавление C-YART... 3 Типы данных... 3 Комментарии к коду... 3 Структура кода... 3 Переменные, константы и массивы... 4 Математические операторы...

Подробнее

Классы, объекты и пакеты в Java

Классы, объекты и пакеты в Java Классы, объекты и пакеты в Java Алексей Владыкин 30 сентября 2013 Алексей Владыкин Классы, объекты и пакеты в Java 30 сентября 2013 1 / 35 1 Основы ООП 2 Классы 3 Наследование 4 Пакеты Алексей Владыкин

Подробнее

Пользовательские функции. Пользовательская функция; Область видимости переменной: локальные и глобальные переменные.

Пользовательские функции. Пользовательская функция; Область видимости переменной: локальные и глобальные переменные. Пользовательские функции Пользовательская функция; Область видимости переменной: локальные и глобальные переменные. (с) Чирюкина, 2007 Понятие функции При работе ранее Вам уже встречались некоторые функции,

Подробнее

Перегрузка операторов

Перегрузка операторов Перегрузка операторов На самом деле: определение действий операторов для пользовательских типов путём определения функций-операторов Это произведение доступно по лицензии Creative Commons Attribution-ShareAlike

Подробнее

Лекция 9. Терновой Максим Юрьевич к.т.н., с.н.с., доцент кафедры информационнотелекоммуникационных

Лекция 9. Терновой Максим Юрьевич к.т.н., с.н.с., доцент кафедры информационнотелекоммуникационных Технологии программирования Зима-Весна Лекция 9 Терновой Максим Юрьевич к.т.н., с.н.с., доцент кафедры информационнотелекоммуникационных сетей Вопросы, рассматриваемые на лекции 1. Частные (private) элементы

Подробнее

ПРОГРАММИРОВАНИЕ/ ЯЗЫКИ ПРОГРАММИРОВАНИЯ

ПРОГРАММИРОВАНИЕ/ ЯЗЫКИ ПРОГРАММИРОВАНИЯ ПРОГРАММИРОВАНИЕ/ ЯЗЫКИ ПРОГРАММИРОВАНИЯ Лекция 2 Время жизни и области видимости программных объектов (весенний семестр 2012 г.) Доцент Кафедры вычислительных систем, к.т.н. Поляков Артем Юрьевич Характеристики

Подробнее

Тема 2.1 Пакетирование, наследование и полиморфизм

Тема 2.1 Пакетирование, наследование и полиморфизм Тема 2.1 Пакетирование, наследование и полиморфизм Наследование в C++ Наследование классов мощная возможность в объектноориентированном программировании. Оно позволяет создавать производные классы (классы

Подробнее