Press "Enter" to skip to content

C++ Programming


привет, привет и приветствую меня
Учебник по программированию на C ++ в этом
учебник. Я буду учить все
Язык программирования C ++ в одном видео в
описание под видео
вы увидите ссылки на все
отдельные части , так что должно помочь вам
получите именно то, что вы хотите, и я
не собирается тратить время на покрытие
установка , если вы , ребята , хотите , чтобы я
это просто оставить комментарий
ниже, и я сделаю это позже, поэтому у меня есть
много, чтобы сделать это, давайте займемся этим
хорошо, так что у меня здесь слева
сторона экрана является основным TextEdit
или то , что я здесь , на правой стороне
экран — это все, что происходит
быть точно таким же, пока вы
используйте G plus plus для компиляции ваших программ
независимо от того, находитесь ли вы в Mac Windows или на
операционная система Linux, так что
первое, что мы собираемся сделать здесь, это
комментарии к обложке это комментарий просто
как и многие другие языки, которые вы можете создать
комментарий, просто поставив две тире и
то, что вы хотите, и если вы хотите
многострочный комментарий, вы можете просто ввести
многострочный , а затем закрыть , что от
хотя есть комментирование и c ++ сперва
вещь, которую мы собираемся сделать здесь, включает
некоторые внешние библиотеки я буду иметь
некоторые функции, которые нам понадобятся
использовать, чтобы это позволило нам
использовать функцию C out и целое
куча других вещей, которые вы
собирается увидеть здесь в секунду , что будет
используется для векторов, которые будут использоваться для
и затем это будет использоваться для
file i / o теперь весь ваш код идет
содержаться внутри основного
как это, и тогда вы идете
иметь фигурные скобки, а затем вы
теперь есть закрывающая фигурная скобка внутри
здесь вы могли бы назвать функцию C
либо используя C out, либо STD C out, как
это то, что я хочу сделать, это избавиться от
эта часть и как я избавляюсь от этого
прямо здесь, после включения
поэтому я буду вводить
Пространство имен STD держать меня от необходимости
типа , что из каждый раз теперь , если
вы хотели сделать базовый мир привет
тип заявления здесь все, что мы собираемся
нужно сделать, это ввести привет мир
используя C out, который выводит текст, который
мы имеем здесь и возвращение каретки
всякий раз, когда мы вводим те же скобки
вы видите прямо там и ndele, для
возврат каретки и это право здесь
говоря, что мы отправились на это
экранировать другое, что нам нужно сделать
здесь обратный звонок, вы всегда
собираюсь сделать это, а нулевые
исполнение прошло
отлично, чтобы просто держать
все просто прыгать сюда в
терминал, и это — команда, я
собираюсь использовать для запуска, это называется see
Тут и убедитесь, что ваши программы на C ++
вы всегда заканчиваете их CP pxz
расширение, то прямо здесь я говорю
что я хочу использовать версию 11 C ++
то я собираюсь скомпилировать это, а затем
чтобы запустить его, я собираюсь установить для него период
вырезать точку, если вы находитесь в Windows, вы
просто введите a, и вы увидите
hello world распечатывает красный цвет так, чтобы
следующая вещь , которую мы хотим обсудить здесь
являются переменными и типами данных
теперь переменные начинаются с буквы и
могут содержать, конечно, дополнительные буквы
цифры или символы подчеркивания, но они должны
начните с буквы, и вот мы
собирается фактически создать постоянную
переменная, которая будет иметь тип
datatype double, что означает, что это
содержит числа с плавающей запятой или
знаков после запятой и здесь мы собираемся
придать ему значение 3.14159265 35 и
снова постоянное присутствие здесь просто
означает, что это значение не может быть изменено
и обычно, когда вы определяете
постоянные переменные вы делаете свои имена
во всех верхних случаях другие типы данных, которые
доступны для вас символы
которые содержат только один символ и
они будут окружены
одинарные кавычки, допустим, у меня есть
класс, равный и подобный записи, и
там вы идете, а персонаж очень
конкретно собирается заняться одним
байт внутри памяти boolean s — который
обычно начинаются с когда вы
определение имени переменной может содержать
true, которое будет считаться равным 1
или ложный, который будет сопоставим
до 0 в целых числах Саура просто целые
числа без десятичных знаков плавают
числа с плавающей запятой, как
удваивается, и они, как правило , точны
до 6 знаков после запятой давайте просто скажем ,
любимый номер и просто скопируйте этого парня
и двойники , конечно , как я уже говорил
также являются числами с плавающей запятой, но они
имеют тенденцию быть точными примерно до 15
цифры в длину, а затем, конечно, если я
хотите вывести одну из этих переменных на
на экране я снова смогу использовать C
и тогда я могу сказать, любимый номер
внутри двойных кавычек, а затем
выводить его
Я просто положил другой кронштейн внутри
есть лицо
ном , а затем, конечно , и л для
символ поверните туда, вы можете видеть
любимый номер 3.14159 теперь, конечно,
существуют другие типы данных, которые
у нас есть короткие концы, которые
размером не менее 16 бит
long int, которые будут по крайней мере
32-битный длинный int, который собирается
должно быть не менее 64 беззнаковых int, которые
будет иметь тот же размер, что и подписанный
версии и длинных парных разрядов, которые не являются
меньше, чем обычные старые парные, если
вы хотите узнать количество байтов
для типа данных мы могли бы прийти сюда
и выходите на C и говорите что-то вроде
размер int мы могли бы затем вызвать размер
и поставил мой возраст внутри, так как
это ИНТ и внутри C ++ все
заканчиваются точкой с запятой, поэтому мы
можно просто спрыгнуть сюда
все на экране и
которые компилируются и выполняются, вы можете видеть
здесь размер int равен 4 байтам, если
Тогда я бы сделал то же самое
вещи для потасовки героев
и удваивает и выполняет, вы можете видеть, как
в каждом из них
хорошо, если вам интересно, насколько велика
число может основываться на байтах и так
вперед и так далее, давайте пойдем сюда и
давайте создадим самый большой int, который мы можем
возможно создать и всякий раз, когда мы знаем
факт, сколько байтов INT может содержать
тогда мы можем вникать и точно определить , как
это будет число, и вы можете
см. здесь, это самый большой
целое число, которое мы могли бы иметь, и если мы
пошел сюда и сказал, что давай пойдем и
с этим, как это, и вы можете видеть
она выводит именно так , что вам
будет ожидать, однако, если мы пойдем один
и положил там 8 и сказал
что и перекомпилировать, вы увидите
что вы совершенно разные
результаты показывают, что это возвращается как отрицательный
число, это просто демонстрация
что происходит, когда вы выходите за пределы
границы с использованием ваших разных данных
типы, когда дело доходит до арифметики, вы
возможность использовать плюс и минус
и умножение и деление
в качестве модуля , который собирается вернуть
Остальное подразделение мы также собираемся
для использования сокращенного инкрементального
нотация, а также декрементальные дают вам
пример того, как это выглядит
вы можете видеть прямо на вашем экране
и точно, как вы будете выполнять
добавление , если вы хотите вывод о том , что
экран, подобный этому, и продемонстрировать
ярлыки для приращений и
декременты , предположим, что у нас есть int
и я просто позвоню 5 и
дайте ему значение 5, затем выведите
наш экран 5 плюс плюс равен и
затем возьмите переменную 5 5 и приращение
я затем увеличиваю его слева
а затем я уменьшу его с
правой стороны, а затем я уменьшу его
с левой стороны, и вы видите, что
здесь, в этой ситуации
всякий раз, когда вы увеличиваете право
сторона будет фактически выполнять
это действие после получения текущего
значение 5 — вот почему вы видите
5 здесь, тогда здесь, когда вы
увеличивайте его на левой стороне, это
собирается увеличить его сначала
помните, что в настоящее время он имеет значение 6
потому что вот что произошло здесь и
вот почему вы получаете 7 баллов за
здесь, а также всякий раз, когда вы
уменьшение на правой стороне происходит
после того, как значение принимается здесь, а затем
здесь вы видите , что оба из них
уменьшилось или мы снова в 5 раз
мы также сможем прийти сюда и
используйте другую форму сокращенного задания
обозначение : 5 плюс или равно
скажем, 5 в этой ситуации, что правильно
будет эквивалентен if
у вас было 5 равно 5 плюс 5 прав
как это или давайте изменим это на 6 так
это не совсем так запутанно, и да вы
может содержать несколько заявлений здесь
той же линии, пока у вас есть
точки с запятой, то, как C ++ определяет, что
заявление закончилось еще
важно понимать порядок
которая в основном заявляет, что
если у вас есть расчет, который
выполняются умножение и
деление будет выполнено
перед любым сложениями или вычитанием и
вы можете видеть прямо здесь, что именно
мы здесь, у меня есть брекеты вокруг
добавления и вычитания и
здесь я этого не делаю и здесь, если я исполню тебя
вижу, что я сильно различаюсь
почему это так хорошо в этом
ситуации, мы будем иметь
сначала происходит умножение , где
вы получите 6 прямо здесь, тогда
мы собираемся вскочить и добавить это
до 3, что приходит к отрицательному 3 в
эту ситуацию мы собираемся выполнить
сложение и вычитание, которое
собираюсь дать вам значение 0, поэтому, когда
это умножилось раз 2, что вы собираетесь
чтобы получить 0, поэтому используйте привязки все время
собираюсь сэкономить вам много хлопот сейчас
скажем, мы приходим сюда
и мы хотим показать какое-то подразделение здесь
на нашем экране , и это именно то, как мы
сделайте это 4/5, если мы выполним это
может не получить результат, который мы искали
для чего в эту ситуацию выходит
до нуля , что происходит всякий раз , когда мы хотим
на самом деле показывает число с плавающей точкой
здесь с знаков после запятой вместо
в основном только выходит к нулю это
на самом деле очень просто, просто приходите сюда
и мы будем выполнять то , что есть
так называемое литье
разные типы данных, которые вы собираетесь
возьмите тип, который хотите
положить его между этими скобками и вам
можно увидеть здесь, мы сейчас компилируем и выполняем
вы получите именно то, что вы
хотел , и, конечно , они могут быть
выполняется путем помещения int в сторону отсюда
приведение к целому числу, даже если это
точно, что это такое
персонажей, а также
что теперь вы можете избавиться от всего этого
здесь мы можем сосредоточиться на if
утверждение теперь утверждения if
в основном собирается выполнять разные
код в зависимости от разных условий
у вас будет сравнение
операторы , которые собираются быть равны
не больше, чем меньше
больше или равно или меньше, чем
равный вам, также будет
логических операторов, которые будут
или или нет, и они собираются прийти
в форме и (или) или нет
и взглянем на некоторые примеры того, как
мы могли бы использовать их, предположим, что мы
создать возраст, равный 70 годам
старый и другой возраст на последнем экзамене давайте
говорят , что мы хотим создать небольшую программу
здесь , чтобы определить,
человек собирается быть в состоянии управлять или
нет, и тогда у нас нет опьянения
и мы собираемся установить это на истинный
всегда хорошо, если вы собираетесь
теперь мы пойдем сюда
с нашими утверждениями if мы собираемся
скажите что-то вроде, если возраст больше
чем или равное единице , и есть еще
логический оператор убедитесь, что вы закрыли все
скобки с правильным возрастом
менее чем 16 в этой ситуации Oh в
эту ситуацию мы собираемся сказать, что
теперь они не могут двигаться, если мы хотим
проверьте другое условие, которое мы просто собираемся
вводить другое, если в этой ситуации
давайте посмотрим, если они
опьяненный в этой ситуации, мы
мы будем использовать символ не
скажем, не опьянен и все
это нужно сделать, это взять это правда
прямо здесь не в этой ситуации и
превратить его в ложное и в этой ситуации
где говорят, что вы не можете попробовать
снова я мог бы прийти сюда и сделать
еще более запутанная вещь, если и она
может сказать что-то вроде возраста больше
чем или равно 80, а затем сделать другое
совершенно иной возраст сравнения
здесь больше 100 или более скобок
возраст — последний экзамен, а затем закрыть
что от более чем пять , а затем
закрыть их, чтобы я был в основном
говоря, что если человек находится над
100 лет, мы не разрешаем им
ездить, если они будут закончены
возраст 80 лет или равен
в основном будет требовать их принять
экзамен каждые пять лет, чтобы проверить, что
на самом деле они все еще в состоянии вести
это своего рода запутанный пример, но
Я просто пытаюсь найти причину быть
может прийти сюда и показать вам, как
все эти разные вещи работают и в
эту ситуацию мы собираемся сказать, что
они не могут двигаться, а затем, наконец, где
все остальное, что не проверяется, если мы
хотите, чтобы у них была способность двигаться
если они сделают это прихожей здесь
мы будем просто ввести еще и
там вы пойдете, вы увидите, что
это работает для вас и здесь, если мы
выполните его, вы увидите, что да
действительно, этот человек может ездить так, чтобы
довольно запутанный пример того, как использовать
если утверждения, а также другие и другие
если теперь давайте взглянем на переключатель
заявление, которое в основном будет
используется, когда у вас ограниченное число
возможных вариантов, допустим, у нас есть
int приветствие и, допустим, они
выбрал два, то, что мы собираемся
в состоянии сделать , это проверить версии или
значения приветствия с нашими
оператор switch помещает его внутри кудрявого
скобки снова мы скажем случай
если значение параметра приветствия равно
до 1 хорошо, тогда мы собираемся сказать, что
мы хотим распечатать на экране
Bonjour затем выпрыгнуть из переключателя
все вместе мы собираемся
введите прерывание, и если вы не проверили
что он будет продолжать проверять все
других возможных значений
спрыгнет сюда, если у вас нет
сломать внутри и проверить , чтобы увидеть , если он имеет
значение 2, чтобы вы хотели убедиться
перерывы там
они могут иметь холу и все эти другие
различные варианты, а затем, наконец, с
оператор switch, если вы хотите
что это будет делать, если
ни одна из других вещей не подходит вам
введите значение по умолчанию, а затем просмотрите и
привет, вот так
нужно переломить здесь в этой ситуации и
вы можете видеть, исходя из того, что они
вступил, чтобы услышать, что Jolla печатает
на экране, что в основном
все, что вам нужно знать о
switch, я рассмотрю
тернарный оператор, который собирается
выполнить присвоение, основанное на
состояние и основные форматы
быть переменной равно там будет
это условие, за которым следует
знак вопроса, и это значение, которое
будет назначаться, если это правда и
это будет значение, это
назначено, если оно ложно, и показать вам
реальный пример, допустим, мы имеем целое число
самое большое число, и в этой ситуации я
собираемся использовать реальные цифры, мы собираемся
имеет наше условие 5 больше, чем
поместите наш знак вопроса, если это правда, тогда
мы собираемся присвоить значение 5
наибольшее число, и если это неверно, мы
чтобы присвоить значение 2 этому
номер, и тогда, конечно, мы могли бы распечатать
что на экране это так просто
и теперь давайте возьмем
Посмотрите на массивы, теперь лучи просто идут
для хранения нескольких значений одного и того же
тип данных, поэтому давайте сюда и
предоставить наш тип данных для нашего массива просто
думайте о рейзе, как коробки, потому что
это в основном то, что они в памяти
так что давайте иметь массив здесь, и у вас есть
определить внутри массивов, сколько
вам нужны коробки или сколько штук
данных, которые вы хотите сохранить в них на
очень начинается, и тогда это не может быть
изменились, мы посмотрим на векторы позже
когда мы хотим взглянуть на способ
изменение этих значений может также
здесь и предположим, что мы хотим, чтобы массив был полным
из плохих чисел, и это также будет
нужно 5 пробелов для хранения этих чисел
Ситуация , которую мы могли бы прийти сюда и тип
во всех этих числах мы хотим сохранить
прямо так, что ты будешь способен
для получения первого элемента в массиве с
ярлык и ярлыки для всех этих
элементы массива начинаются с 0 так
это будет иметь индекс или этикетку
из 0 это 1 2 3 4, и если мы хотим, чтобы
очень первое плохое число в этом массиве
мы собираемся ввести в 0 так же , как я
сказал и изменить это к плохому Nums компилировать
и исполните, вы увидите четыре
появляется, потому что у него есть индекс 0
мы также сможем прийти
здесь и создать многомерные массивы
который просто будет коробки коробки
так что давайте говорить , что я хотел бы иметь
массив символов, который будет
многомерный, и я собираюсь
5 пробелов в первом массиве,
созданный здесь
и пять во втором читали, что
Здесь я мог войти и
определить, что я хочу хранить буквы
для моего имени мы собираемся использовать два кудрявых
скобки в этой ситуации, тогда мы
собирается закрыть это сначала с помощью
закрытие фигурной скобки, а затем открыть ее
снова и здесь я могу назвать свою фамилию
переходите к следующей строке, так что это
немного легче увидеть и мы используем
символы здесь символы всегда используют
одиночные кавычки строки , как вы собираетесь
см. позже, всегда используйте двойные кавычки
и затем, наконец, после того, как у нас есть все эти
в положить две фигурные скобки там закрытия
и там вы идете, это
многомерный массив, если вы
затем захотите завладеть и распечатать
скажем, второе письмо в
второй массив, который вы снова видите
письмо во втором массиве мы бы пошли
имя в этой ситуации, и мы хотим
получить вторую одну скважину в том , что
вторая ситуация равна единице и
то вторая буква во втором
массив так поступает так, и там вы
может видеть, что там появляется всплывающее окно, которое
именно право один
вы также можете войти и изменить
значение в массиве, просто используя его
индекс
поэтому мы скажем мое имя и предположим, что мы
хотите получить первый массив, который
ноль в этой ситуации, а второй
буквы внутри нее или третьей буквы
в этом в этой ситуации, и мы хотим
измените это, чтобы не было проблем, тогда приходите
здесь и измените это точно так же
место POW и выполнить, и вы можете видеть
здесь новое значение равно e, как мы установили
это прямо сейчас я собираюсь уйти
все здесь, потому что я собираюсь использовать
это в то время как я показываю , как именно
для цикла работает теперь цикл for
позволяет продолжить выполнение кода как
если условие истинно, и вы
собираюсь определить это, потому что здесь я
собирается присвоить тип данных для значения
что я собираюсь увеличиваться, и мы даем
это начальное значение одного, я собираюсь
скажем, что мы продолжим
увеличивая, пока я меньше, чем
или равно десяти , а затем мы должны
прирасти его прямо здесь фигурные скобки
и внутри цикла for мы могли бы пойти
посмотреть и просто распечатать все эти
наш экран и там вы можете это увидеть
распечатать его от одного до десяти
теперь мы могли бы прийти сюда и использовать
наш многомерный массив путем укладки
внутренний для петель, и мы просто пойдем
и целое число J равно нулю, мы
здесь будет использоваться ноль, потому что массивы
начните с нулевого индекса, чтобы мы
скажем, wow J меньше пяти
мы будем продолжать цикл через
здесь, а затем внутри здесь мы собираемся
в
другой для цикла, получим этот BK
равно нулю хорошо менее чем пять
прирастите значение K, теперь мы можем прийти
здесь и распечатайте всю мою
имя, просто положить J хорошо внутри
тут же вижу, что я не ставил
конец L там, где это сделано
через цикл for я мог тогда прийти
здесь и поставьте возврат каретки в
и выполнить, и там вы можете это увидеть
напечатал мое имя, помню, я изменил
здесь и далее он пошел и распечатался
фамилия, и это то, что
просто собираюсь сделать это собирается пойти в
первый цикл массива через все
используя это для цикла прямо здесь давайте
спуститесь сюда, а затем J собирается
придумайте здесь, и он собирается распечатать
все так, как это делается для циклов
работа теперь давайте посмотрим, пока
петли, которые вы собираетесь использовать в то время как
вместо циклов, когда вы
не знаю заранее, когда ваша петля
закончится так, скажем, у нас есть
случайное число, и именно так вы
генерировать случайные числа в С ++ мы
пойдем Ранд и скажем, что я хотел
получить случайные числа от 1 до 100
модуль 100 вроде как теперь этот парень
один будет генерировать случайные
числа от 0 до 99, поэтому, если я хочу 1
до 100 Я собираюсь поставить 1 прямо здесь
теперь с петлей while я могу сказать, что я
хотите продолжить движение по этому пути
цикл, пока случайное число не является
равным 100, и мы можем распечатать
на экране отображается случайное число
один раз и в этой ситуации давайте
скажем, мы хотим поставить запятую между ними
закройте это, но, конечно же, вы
понадобится способ выйти из этого
while, так что случайное число идет
нужно изменить, так что и сгенерируйте
другое случайное число, убедитесь, что мы используем
то же самое снова, а затем после того, как мы
сделано с нашим временем цикла положить
возврат каретки туда, но не
забыть поставить знак равенства там
теперь давайте посмотрим, сколько времени потребуется
мы добираемся до 100, там вы можете это увидеть
напечатал все, что там
экран, и я не знаю, что я не собираюсь
подсчитайте, сколько из них
возьмите так долго, чтобы придумать случайный
число 100 других вещей, которые являются добрыми
интересного вы можете в принципе
точно имитировать то, что делает цикл for
с помощью цикла в то время как только вещь
у нас будет что-то
это будет увеличивать для нас это
индекс прямо здесь будет хорошо и в
эта ситуация, конечно, держит ее вне
вашего цикла в то время как мы делали с
наше случайное число , прежде чем мы будем
скажем, что мы хотим, чтобы
если индекс меньше или равен
десять, затем внутри вашего выходного значения
индекс , а затем, конечно , увеличивает СВОЙ
указатель прямо здесь, и вы можете петь
почти точно то же самое, что и вы
может работать с циклом for с циклом while
и это подводит нас к тому, чтобы
они будут использоваться всякий раз, когда вы
хотите выполнить все, что находится в цикле
по крайней мере один раз, и я тоже
собираюсь поговорить о струнах здесь для
вторых, потому что теперь мы собираемся также
о том, как получить пользовательский ввод, мы создаем
строка, которая представляет собой
персонажи
это вся строка int int number
гости дают это значение 0 начинаются
а затем делать-то время петли только собирается
начать с do, а затем в
очень конец этого мы будем иметь
в то время как вы знаете, что все
будет выполнен, который находится в цикле
хотя бы один раз, даже если это число гостей
не равно 4, так что число гостей
он не равен 4, и это будет
быть основной, как игра с угадыванием, и вы
нужно положить точку с запятой здесь в конце
не забывайте, что теперь внутри этого
мы собираемся получить некоторые пользовательские данные, которые мы
начнем с того, что
пользователь нашей программы — угадать номер
между 1 и 10 мы хотим
пользователю ввести какой-либо ввод и сделать это
мы собираемся ввести строку, мы
собирается ввести в CIN , который собирается
быть источником ввода пользователя, который является
будет клавиатурой в этом
ситуации, и тогда у нас будет
сказать, где мы хотим , чтобы это значение было
в этой ситуации мы хотим
сохраните его в номере строки гость, если
мы хотим преобразовать строку в
целое число, то мы можем пойти int number guest
мы должны сделать это, потому что этот парень
здесь мы не собираемся быть в состоянии
сравните строку с целым числом 4, это
достаточно легко изменить, мы просто собираемся
ввести TO TOI
который собирается преобразовать строку в
целое число, а затем мы пройдем число
гость, который является нашей строкой, а затем мы
может печатать int number guest, если мы
и это будет продолжаться
цикл , пока они не войдут в число
четыре , а затем , если они выйдут из наших
цикл do-while мы могли бы войти и уйти
увидишь, как ты выиграешь, иначе он собирается
продолжайте спрашивать их, как вы увидите предположение
между 1 и 10 я буду вводить 1 спросить меня
еще раз
2 теперь ты видишь, я так хочу
есть преобразование ввода пользователя из
строки в целые числа do-while и
целая куча других вещей
давайте посмотрим на соломинку
теперь в C ++ по сравнению с C C ++ есть
собираемся предоставить нам строковые объекты
и ты, как я сказал, прежде чем они
всегда будет окружен
двойные кавычки и просто для этого
реальный короткий внутри C вы бы
ранее сделанные строки, говоря
что-то вроде массива копий шесть, как это
равен и затем создал символ
массив, поэтому я просто назову его счастливым и
то вам приходилось всегда заканчивать
обратная косая черта, а затем нуль с закрытием
фигурные скобки, и так мы были
используя строки внутри C, путь C ++
гораздо лучше и проще, поэтому мы собираемся
говорят , строка строка рождения равна
пространства в их день рождения, и там мы
мы закончили, мы могли бы, конечно,
объединить этих ребят и как мы собираемся
объединить их в с
оператора конкатенации или просто плюса
или вы можете просто назвать это комбинированным
вы можете называть это, как хотите
так что день рождения и там вы можете видеть
он печатал с днем рождения комбинацию как
тех, кто распечатывает их на экране
и выполнить пару других
операций , давайте назовем это
ваше имя всегда должно определить ваше
переменных перед их использованием, а затем
Я буду иметь его прийти и печать
выйдите из экрана, чтобы получить от вас некоторого пользователя
вход , что ваше имя прибудет линию это
чтобы получить вход пользователя,
клавиатура хранит все, что они вводят
на ваше имя, и тогда я мог бы пойти посмотреть
привет, положите свое имя внутри
как называется ваше имя в Derrick hello
Деррик говорил со мной, чтобы потом
и создадим, скажем, двойной в этом
ситуация постоянна, вы не
знайте, что это не волнует
просто случайное число мысли или
Эйлер думал, что я мог бы тогда
go string Эйлер догадывается, что мы хотим сделать
заглавное приложение немного викторины
письмо прямо там просто упрощает
чтобы иметь возможность читать имена переменных
и тогда я пойду Эйлеру, удвоить и
теперь зайдите сюда, спросите их, что это такое
константы я мог бы получить то, что они
войдите внутрь здесь не беспокойтесь о
это я собираюсь показать вам , как конвертировать
от удвоений и от строк до
удваивается, мы должны сделать, чтобы преобразовать из
строка в двойную, и мы собираемся
хранить его в Эйлере
в вместо STO I STO D
прямо так , и вы научитесь угадывать
это строковое значение, которое они ввели, и
то я скажу, если вы старше предполагаете двойную
равна постоянной Эйлера, которую вы можете
видеть все на экране фигурные
скобки снова видят, что вы правы и
тогда еще вы ошибаетесь, убедитесь, что вы
войдите сюда и поставьте его внутри
постоянная Эйлера постоянная Эйлера
выполните свое имя Дерек, что
Постоянная Эйлера 0.577 21 вы правы
вы можете точно видеть, как это работает
пара других вещей, которые мы можем сделать с
вы хотите получить этот размер или
количество символов в строке
размер строки можно использовать Эйлера
в этой ситуации, а затем просто позвоните
так что это в основном то, что вы
подумал, что когда будет проверяться,
строка пуста Эйлер догадывается снова и
просто введите пустое поле для использования всякий раз
вы хотите проверить вход пользователя
используйте append, чтобы иметь возможность добавлять
струны вместе
поэтому мы могли бы предположить, что Эйлер и позвонит
добавить, а затем добавить что-то вроде
ваши гости отскакивали оттуда там
ты иди
Турецкая точка пять давайте напечатаем это в вас
были неправильные, не имел значения, размер строки
равен трем, см. прямо там
десятичная пятерка — это три
строка empty 0 возвращается или false
он явно не пуст и печатает
мои гости там на экране приходят
здесь и создайте еще одну строку let’s
вызовите эту строку собаки, придайте ей значение
строки собаки и кошки придают ей значение
кошки мы можем сравнивать числа , так что давайте
скажем, когда мы видим или сравниваем строки
их с помощью функции сравнения и
давайте изменим это на собаку, и это
кот и измените эту собаку, и вы можете
см. в этой ситуации всякий раз, когда значение
равно как и здесь собачья строка и
собака, вы получите ответ
значение 0, вы получите 1
в этой ситуации, если это меньше, чем и
отрицательный, если он больше, чем и
все это основано на алфавитном порядке, поэтому
мы могли бы прийти сюда и подписать
копии значения для другой строки мы
go целое имя равно и идти
назовите знак, и я могу сказать ваше имя
и там вы идете
Тогда я мог бы получить подстроку, поэтому давайте
сказать, что я хотел получить первое имя
назад
как эта точка, и я и сын
строка Я хочу работать с потом
начиная индекс , с которого я хочу
сначала начните вытягивать символы, а затем
количество символов , я хочу что
пять, я мог бы спуститься сюда
это, чтобы набрать имя, если я набрал свой полный
имя, то вы скажете, что это
просто схватил подстроку до Деррика I
затем может выполнить поиск по строке
так что скажем, что я хотел найти
индекс моей фамилии получает фамилию
если мы этого не знали, я мог бы напечатать
на ваше имя , а затем найти следуют
подстроку, которую я хочу найти внутри
и индекс, который я хочу
начните поиск, и я могу
индекс индекса имени фамилии
мои полные имя данные точек , и вы можете увидеть
индекс начинается с шести, и если вы считаете
над вами вы увидите, что B на самом деле
шесть, а также вставка позволяет
мне добавить строку в индекс, чтобы
Я говорю это, чтобы положить его, так что я пойду вставку
пять, начиная с пятого индекса, я хочу
вставить слово Джастин изменить это на
ваше имя, чтобы вы могли видеть, что здесь
через секунду я мог бы удалить или удалить
шесть символов, начиная с индекса
семь, и я бы просто сказал тебе свое имя
снова строка хочет работать с
гонка начиная с шести
Я хочу удалить шесть символов, начиная
в седьмом индексе, а затем распечатать его
там снова, а затем, наконец, я мог
также приходите и замените , скажем, я
хотите заменить пять символов, начиная
при индексе 6 хорошо есть индекс 6, поэтому
Я хочу заменить пять символов и
скажем, что я хочу изменить его на
Maximus
поэтому мое новое имя будет Maximus и сделать
конечно, это называется вашим именем, и вот
мое имя вы можете увидеть все изменения, которые
сделаны на него прямо я вставил
просто и внутри там прямо там я
избавился от него, а затем прямо здесь я
выполнил замену, чтобы изменить мой последний
имя Максиму так есть много
все о струнах в порядке, давайте поговорим
о векторах теперь векторы похожи на
Рейз единственное реальное различие в том , что
их размер может измениться и как вы создаете
вектор является типом вектора, а затем
тип данных, который вы хотите сохранить, затем
скажем, что я собираюсь хранить или
числа лотереи в моем векторе Я иду
принять решение о том, что первоначальный размер должен
быть 10, я мог бы создать массив для
показать, как
поместите массив в вектор и скажем
он имеет размер пять, а затем мы будем
инициализируйте его так же, как мы сделали до 14
24 и 34, как мы можем тогда пойти и
возьмите наш вектор и вставьте наш массив и
как мы собираемся сделать это пойти в лотерею
номер
и сказать, что мы хотим начать
вставка в начале нашего вектора
и тогда мы скажем массив, который мы
хотите вставить в него, а затем давайте
говорят , что мы хотим взять первый
три числа из нашего массива, как
что мы могли бы пойти посмотреть и просто
напечатать номер лотереи, подобный этому, и на
и, допустим, мы хотим , чтобы третий
элемент, который будет вторым индексом
как это
мы вышли на экран
потому что помните, что он не
весь массив просто взял эти первые три
чисел, и там вы увидите 14 всплывших
теперь, если вы захотите также войти
здесь, допустим, мы хотим добавить
другое значение в пятом индексе
номер лотереи, то мы могли бы тогда
go lottery num vector
начать что начало
вектор плюс пять, чтобы добраться до пятого
индекс , а затем положить 44 внутри там мы
затем может спрыгнуть сюда до пяти и
см 44 поп — точка теряемое собирается
добавьте значение в конец нашего вектора, чтобы
отодвиньте назад и скажем, мы хотим положить
64 там мы хотим определить
вы можете видеть, что изменения в векторе мы тогда
хотел найти это окончательное значение, которое мы можем
перезвоните, и он получит это для нас как
вы можете увидеть прямо там трещать назад это
собирается удалить окончательное значение
нет смысла делать то , что в этом
ситуации было бы 64, и тогда мы могли бы
получить первое значение в векторе
вызывая передний шаг назад, мы могли бы получить
последний элемент , возвращаясь, конечно,
пустое будет возвращать ноль, если
вектор не является пустым и 1 или верно
когда он пуст, а затем, наконец, если
мы хотели получить размер нашего вектора
мы можем сделать это со вздохами.
краткое изложение всего, что мы можем сделать с векторами
теперь давайте посмотрим, что мы можем сделать
с функциями внутри C ++ теперь ваш
функции
на самом деле появится перед вашим
Основная функция , и это в основном только имеет
тип возврата, давайте предположим, что мы
хотел добавить функцию, которая добавила
чисел у нас будет наш тип возврата
для нашей функции, если у нее не было
возвращаемого типа, вместо этого будет
целого числа, и тогда мы собираемся
определить типы данных для наших атрибутов
которые будут получены нашими
так что я мог бы также установить
это так , что эта функция будет иметь
значение по умолчанию, которое на самом деле означает вас
не нужно было бы отправлять второй атрибут
в этой ситуации единственное, что
вы должны сделать, если вы делаете это все
ваших функций, которые имеют
значение или все ваши атрибуты, которые
значение по умолчанию должно быть последним
так что это должно произойти до этого так
это единственное правило, и это
также известный как прототип функции, мы
затем можно перейти и ввести комбинированное значение
равна первому числу плюс второе число
храните это, а затем возвращайте
и я сделал это так, чтобы
что я мог бы продемонстрировать что-то еще
вы можете взять это прямо здесь и положить
это прямо здесь , в части возврата
прямо там вам не нужно создавать
новую переменную просто для выполнения этого
еще одна вещь, которую я хочу продемонстрировать
так как я здесь, а не внутри основного
заключается в том, что вы можете перегружать
функции, которые в основном
использовать одно и то же имя, но другое
атрибуты, чтобы я мог прийти сюда даже
хотя я уже добавил номера
на самом деле это просто копировать все это
вставьте его туда, чтобы добавить номера
дважды можно добавить номера
только проблема заключается в том, что мы должны иметь
Различные атрибуты внутри здесь
так что предположим, что у нас есть второе число, и мы
есть еще одно целое число , которое собирается
быть третий пит и , как я уже говорил
нам не нужно все, что мы могли бы просто пойти
вернуться и выполнить наше право на добавление
внутри здесь
второй num third num и верните, что сейчас
давайте прыгнем внутрь основного и
на самом деле вызывать эти функции, если я
не упоминал перед функциями
в основном позволяют повторно использовать код и
также добавить определенный уровень организации
к вашему коду, так что здесь добавьте nums I’m
переходя в один, я собираюсь использовать
значение по умолчанию, равное нулю, они не идут
пропустить что угодно и просто продемонстрировать
это и тогда я покажу другую как
хорошо на номера один пять
пять и шесть, и хотя вы можете увидеть, если я
выполните это прямо там, у вас есть одно и
двенадцать всплывающих окон на экране
и создать немного более сложную
функции здесь, и это в основном то, что
они называют рекурсивную функцию, и это
обычно продемонстрирована с использованием
получение факториала, так что я буду
делать
получить факториальный номер int, и это
будет функцией, которая называет себя
изнутри себя звучит намного больше
сложный, чем это, поэтому я собираюсь пойти
и создать целое число, называемое sum, тогда
Я собираюсь сказать, если номер, который
будет передаваться внутри здесь
равен единице , то я хочу , чтобы некоторые
равная одной сумме LS, будет равна
получить факториальный вызов для себя
изнутри себя и здесь я иду
чтобы получить номер число минус один раз
это позволит получить наш факториал
потому что здесь мы собираемся вернуться
суммируйте очень быстрый способ получить
факториал числа и в основном то, что
здесь, здесь, мы будем
дойдем до этой части, это первый
через эту функцию и, скажем так,
число равно трем скважинам в
ситуация получает факториал с
значение трех будет фактически двумя
давайте просто сосредоточимся на этом правильном
вот так три минус один равен двум
в этой ситуации он вернет
значение двух, а затем мы собираемся
умножьте это время три так прямо здесь
всякий раз, когда мы проходим через
второй раз на этот раз мы будем иметь
передавая два в фактор факториала, поэтому
там мы и два минус один идет
быть равным единице и в этой ситуации
это будет возвращать значение одного
и получить факториал в этой ситуации
когда он приходит сюда в третий раз
число будет равно единице так
сумма будет равна единице и
это покончит с тем, что функции
и вскоре
ricochet вернуться к началу так
что мы останемся в этом
ситуация заключается в том, что это вернет
который будет умножаться раз
два, что прямо здесь действительно идет
прямо здесь и тогда мы умножим это
2 раза три , который собирается дать нам
наше окончательное значение шесть и пойдем
здесь и давайте фактически запускаем его
чтобы убедиться, что это то, что он делает
и как узнать, это пойти факториал
из 3, а затем позвонить по телефону
получить факториал передавая значение из трех
и я обязательно пойду сюда и
иметь возвращаемое значение как целое число
тут же приходят сюда
и удалите эту маленькую скобку, которую я положил
там случайно, если мы его выполним
вы можете видеть, что факториал три шесть
точно так же, как мы показали здесь
есть изложение функций внутри
C ++ теперь я хочу осветить файл i / o или как
для чтения и записи файлов , используя либо
текстовый или машиночитаемый двоичный файл, так что я
собираюсь создать строку здесь, я собираюсь
чтобы называть эту цитату Стиву, она равна
и сказать, что день без солнечного света подобен
вы знаете ночь, что я буду иметь
для этого необходимо создать поток выходного файла для
создайте этот файл, если он не существует или
что он будет делать, это создать функцию или
создать файл, если он не существует
буду называть его писателем , и я собираюсь
укажите имя, которое я хочу сохранить
текст в и я буду называть его Steve
quote dot txt и затем проверить
что поток файлов был создан так, чтобы
Я смогу записать файл, если не
Я собираюсь выпустить сообщение об ошибке
а затем , если мы хотим , чтобы сигнализировать о том , что
произошла ошибка , мы можем вернуть
отрицательный в этой ситуации иначе, если
поток файлов открыт, что означает, что мы
может написать в файл, и это очень
просто написать текст в файл просто пойти
писатель и строка, которую вы хотите написать
и тогда я брошу новую линию там
в конце, а затем очень важно, чтобы вы
также захотите войти и закрыть этот файл
поток в конце я собираюсь продолжить
здесь, потому что мы должны читать
из этого предположим, что вы также хотели
чтобы войти сюда, наш файловый поток
мы собираемся создать еще один
и я просто позвоню этому писателю и
то в этой ситуации то, что мы собираемся
мы должны определить, что мы
хочу написать текст цитаты Стива
файл, а затем мы собираемся сказать
что мы хотим добавить то, что мы собираемся
сделать рядом с концом того, что уже
теперь есть целая куча
различные символы, которые мы можем использовать здесь, чтобы
делать разные вещи с файлами вроде I
просто сказал с прошивкой приложения мы собираемся быть
возможность добавления в конец файла
с бинарными iOS мы сможем
обрабатывать файл, как если бы он был двоичным iOS
in собирается открыть файл для чтения ввода
что вы увидите здесь минуту
Строка iOS является стандартным, что происходит
когда вы не используете один из этих
символы, а затем iOS выйдет
открытый
выкл, чтобы записать вывод, но в этом
ситуация, которую мы будем ждать
и еще раз нам понадобится
зайдите сюда и проверьте, что этот файл
поток уже открыт, и я просто
собираюсь скопировать эту пасту, чтобы там
но убедитесь, что это правильно или здесь
вместо того, чтобы прямо там вы идете, и это
будет писателем 2 мы собираемся
снова выплюнуть ошибку, если файл
поток не был открыт, а затем добавлен
В этой ситуации мы будем идти
писатель, а затем скажем, что мы хотим
для ввода новой линии обратной косой черты N и
затем тире, а затем введите Steve
Мартин, мы тогда могли прийти и сказать
писать или близко , и что там все в порядке
поэтому мы написали и добавили, и мы
создал файл и сделал все, что сейчас
Я собираюсь создать персонажа, который
собирается провести каждый из отдельных
персонажи, которые мы будем читать из нашего
файл, и мы собираемся прочитать эти
символов, используя поток входных файлов, поэтому
входной поток файлов, и я собираюсь позвонить
этот читатель, и вам нужно сказать об этом
именно то , что файл , который вы собираетесь быть
читаю, а потом я собираюсь проверить
если этот поток будет открыт только
как мы это делали раньше с читателем
внутри там приходят и печатают
ошибка снова включить Erica отрицательную еще
мы знаем, что мы открыли наш поток и
мы сможем прочитать из этого файла и
мы будем использовать цикл for в этом
ситуация, чтобы прочитать каждого персонажа из
поток , пока не дойдет до конца
линия, поэтому я собираюсь пойти в Я
равный нулю, тогда я собираюсь идти пока
читатель не доходит до конца
файл, который мы собираемся продолжить читать
символов, а затем мы позвоним читателю
получить следующую букву вывода
что мы хотим, а затем в этой ситуации
давайте просто скажем, что мы хотим печатать
это к типу экрана в письме
то после циклов for, сделанных с помощью
вы идете посмотреть до и после этого еще раз
закройте читателя, если мы это сделаем
правый день без солнечного света подобен тебе
знайте ночь, чтобы увидеть, как это получилось
и все это разные вещи
вы можете делать и в отношении чтения и
запись данных с использованием C ++ Я собираюсь
кратко коснитесь обработки исключений и
обработка исключений в основном позволяет вам
во избежание потенциальных проблем в этом
Я просто собираюсь сосредоточиться на одном
который является делением на нулевую ошибку, которая
может вызвать все виды проблемы сейчас
когда вы хотите что-то прикрыть
что может вызвать исключение или
ошибка, которую вы хотите уловить
вы собираетесь окружить код, который
может потенциально вызвать этот воздух внутри
того, что называется блоком try, а затем
что были
сделать это, чтобы установить оператор if
внутри здесь, где говорится, что число
не равный нулю в этой ситуации
мы можем сказать C out и делить на число
как у нас есть, но как мы можем видеть
что приведет к ошибке и
мы никогда не будем туда попасть
иначе мы собираемся сказать, что сейчас число бросков
этот бросок будет искать уловку
и область уловов — это то место, куда мы идем
уловить число, которое было введено
не нужно это делать, но это помогает
что у нас есть сообщение об ошибке,
и тогда мы могли бы что-то сделать
номер недействителен, а затем, возможно,
иметь маску или попросить их снова
вы можете увидеть здесь, если мы запустим ноль, не
действительно, поэтому вместо того, чтобы вызывать ошибку
прямо здесь, помещая это внутри
попробуйте блокировать, а затем бросать, если они
фактически ввести 0 , который вызывает
потенциальные ошибки мы вместо этого собираемся
поймать его в этой области прямо здесь
и решить эту проблему и сохранить нашу программу от
сбой, так что это краткое объяснение
исключений ok теперь давайте поговорим о
теперь, когда данные хранятся, это
хранится в коробке соответствующего размера
который основан на его типе данных просто
как мы уже здесь рассматривали, мы имеем
целое число, и здесь у нас есть символ
Теперь , как мы сделали , прежде чем мы будем иметь
может прийти сюда и использовать sizeof для
определить, сколько байтов данных
собираемся заняться, и мы можем видеть здесь
всякий раз, когда мы запускаем программу,
целое число будет занимать 4 байта и
персонаж будет занимать 1 байт
теперь вы сможете ссылаться
это поле или этот адрес памяти, где
все ваши данные хранятся с
называемый ссылочным оператором, который
М кошелек и чтобы мы могли прийти сюда
и посмотри, и мой возраст находится на
и затем использовать ссылочный оператор
за которым следует мой возраст и когда мы выполняем
что вы можете увидеть адрес памяти
прямо сейчас, что действительно круто о
это когда мы не используем указатели
или мы не используем ссылочные операторы и
мы меняем значение переменной в
регулярная старая функция, что изменение
ценность не ведется, она теряется и
причина, почему мы используем
регулярные функции, в чем мы существуем
делает проходит значение в том , что
так что даже если бы у нас было то же самое и
эти, и мы передали в качестве
переменная в функцию, называемую add
это просто так, что будет
случается, это сумма сумм, так скажем
мы имеем целое число здесь целочисленная сумма
равно 5 и проходят некоторые в оном
эти функции хорошо, если мы изменим
значение суммы , и мы не передаем ее обратно
сумма будет по- прежнему равна 5
потому что мы передаем значение с
оператор ссылки и указатели в
Вообще то , что мы собираемся быть в состоянии
вместо этого переходить по ссылке и любой
изменение , которое сделано внутри
показывая, что указатель собирается
иметь возможность сохранять адрес памяти для
воссоздать мой возраст, чтобы продемонстрировать это и
когда вы определяете указатель, вы
просто нужно использовать один и тот же тип данных
а затем звезда, и мы скажем возраст
такой указатель равен, а затем
вы собираетесь использовать ссылку
оператора, чтобы передать это как раз
прежде , чем мы сможем получить доступ
адрес памяти с этим указателем
указатель, просто набрав возраст PTR, но
мы также сможем разыгрывать
данные на этом адресе памяти, чтобы мы
скажите данные по адресу памяти и как вы
разыменовать звезду перед
указатель возраста так, как вы увидите
здесь с этим указателем теперь будет
чтобы получить адрес памяти, а также
данные, которые хранятся в этой памяти
адрес, давайте посмотрим на массивы как
скажем, у нас есть наши плохие числа
массив, как мы использовали ранее мы
может затем пойти int star, чтобы создать указатель
и мы будем называть это числовым указателем массива
равна плохим числам
что здесь аккуратно, мы собираемся
на самом деле иметь возможность увеличивать через
наш массив просто использует сокращенную нотацию
плюс плюс плюс минус минус, чтобы мы могли
go посмотреть адресный указатель массива адресов
и значение, а затем получить фактическое
значение в массиве мы можем окутать массив
указатель, а затем закрыть это, а затем
входите и опускайте указатель на указатель плюс
плюс получить следующее значение в нашем массиве
отскочить, что там и там вы можете
см. подпрыгнутый там схватил 4 и 13 как
а также адреса памяти и как мы
увидел ранее целое число занимает 4
байтов вы можете видеть разницу
адреса памяти прямо там, поэтому
вы узнаете, как это происходит
хранится внутри и что-то еще
что интересно , это имя массива
просто указатель на массив, чтобы мы могли
приходят и уходят адрес и поместить массив
имя само по себе внутри там в гномах
чтобы получить значение, которое хранится там, и
Вы можете видеть , что это работает также увидеть то же самое
адрес памяти того же значения, чтобы что-то
интересно подумать, как я сказал
ранее всякий раз, когда мы передаем переменную
для работы вы проходите по значению
Однако всякий раз , когда вы передаете указатель на
вы фактически передаете
ссылку, которую можно изменить, поэтому давайте
подпрыгните здесь и давайте создадим функцию
показать, как это работает
это не собирается возвращать ничего так
Я собираюсь вытащить его в пустоту внутри
там, и я собираюсь сказать, сделаю меня молодым
и это будет получать указатель
поэтому я собираюсь положить int со звездой
после этого, а затем возраст так, а затем
давайте подтянуть здесь на экране
предыдущий возраст, когда я был таким , и
чтобы получить значение возраста, я ставлю звезду и
возраста, потому что иначе это память
адрес должен поставить этот магазин там
но потом я тоже могу войти и изменить
это значение , ставя звезду и возраст
равно 21 ничего не возвращать не
должны делать что угодно, иначе я могу
спуститесь сюда и позвоните, сделайте меня молодым, если
Я хочу передать ссылку на этого парня
проходя по ссылке , это все, что
значит, я могу это сделать, и тогда я могу
Я, а потом просто проверяю или проверяю, что
это фактически изменило тот возраст, который вы можете сделать
это, и вы можете видеть, что я был 39
который пришел из функции, тогда мы
изменил его на 21 внутри функции
и тогда вы можете видеть здесь, что это
изменено в глобальном масштабе, также может прийти сюда
и снова этот амперсанд идет
для обозначения того, что ссылка на возраст будет
ссылку на назначенную переменную, поэтому
существует контрольная разница между
ссылка и указатель, который я собираюсь
получить больше, когда вы должны использовать один
когда вы должны использовать другой я
вы сможете увидеть, что вы
на самом деле будет использовать ссылки больше
чем вы используете указатели, как я сказал, что это
приходит в секунду другую вещь , которая
интересно, мы могли бы принять это
ссылаться и увеличивать его и видеть, что
что также изменило мою
прямо вот так вы видите, вот мой
21 год, мне снова исполнилось 22 года
глобально мы меняем все
давайте создадим еще одну функцию
будет называться актом вашего возраста только для
передать ссылку и показать
разница между прохождением
ссылки и дело с указателями ПРИХОДЯТ
здесь и создайте еще одну функцию .
также не собирается ничего возвращать только
доказать, что ничего не обменивается руками
действуйте в вашем возрасте, за исключением того, что мы проходим мимо
на этот раз, поэтому мы собираемся
поставьте амперсанд внутри и
Я просто собираюсь поставить там возраст снова
не имеет значения, что я ставлю, и здесь я
просто хочу сказать , возраст равен 39
снова возвращаюсь сюда, просто демонстрируя
разница между прохождением
ссылку и прохождение указателя, и мы
может пойти и доказать, что он все еще
возраст изменения равен ndele, и там
Вы можете видеть , что это действительно так измениться
в основном вы можете спросить себя хорошо
когда вы решаете,
хотите использовать указатели или ссылки, когда
если вы используете то, что хорошо
следует использовать указатели, если вы не хотите
должны инициализировать при объявлении, что
это означает, что вы можете видеть прямо здесь, я
я определяю, что мы инициализируем то, что я
ссылаясь всякий раз, когда я использую
ссылочный вариант, когда я занимаюсь
с указателями мне не нужно
немедленно инициализируется, а затем сверху
из этого с указателем я собираюсь быть
возможность назначить другую переменную к нему так
указатель сможет справиться
с более чем одной, в то время как ссылка
собираюсь получить эту ссылку на эту
одну переменную и застрять с ней так, если
Вам не нужно , чтобы быть в состоянии изменить
независимо от того, что вы собираетесь указывать на
используйте ссылку, в которой
так что это и есть основа
мы собираемся получить больше
их здесь через секунду, но теперь я собираюсь
перепрыгнуть и поговорить о занятиях сейчас
теперь в объектно-ориентированном программировании, что
мы пытаемся сделать, это модель реального мира
объекты, подобные животному в коде, и как
вы делаете это, вы думаете о том, что
делает объект объектом хорошо
каждый объект имеет такие атрибуты, как
высоту и вес и что угодно и что
также имеет возможности, чтобы он мог запускаться и
он может съесть просто, чтобы быть очень простым
там хорошо эти атрибуты собираются
быть смоделированы по переменным, и эти
возможности будут моделироваться в
функции или
методы одни и те же
имя так, что я буду делать здесь внутри
моего класса я буду иметь некоторые из
эти вещи являются частными и частными
я говорю, что все, что есть
отмечены личными в отношении атрибутов
или переменные только собираются быть в состоянии
меняться функциями внутри моего
класс, и мы делаем это только для того, чтобы держать их
и это называется
инкапсуляция, поэтому я собираюсь иметь свой
имя высота и вес все быть приватным
и пока я здесь, я мог бы
говорить о статических переменных в основном, если
вы ставите перед чем-то все
это означает, что это значение переменной
будет разделяться каждым объектом
типа животное , который когда — либо созданное так
скажем, что я хочу также отслеживать
от числа животных , которые
созданный из моего класса, он не будет
что животное будет считать
это еще одна причина, почему мы статичны
здесь, поскольку статические переменные также
обычно являются атрибутами, которые класс
объекту не было бы так, что мы хотим быть
способный подсчитать количество животных, которые
создаются, но мы не хотим
на самом деле имеют тип животных, определенный для
быть в состоянии сделать это, и это подводит нас к
хорошо, если у нас есть переменные, которые
являются частными, нам придется иметь
общественные методы, которые собираются быть в состоянии
для доступа к значениям внутри
у нас будет что-то вроде get
высота там мы идем, и я на самом деле
собираюсь просто создать это здесь на одном
и всякий раз, когда это называется, это
возврат возвращаемого значения
для моего объекта животного тому, кто звонит
для этого, и мы также можем сделать то же самое
с весом, и это также
инкапсуляция, мы сохраняем все наши
защиты данных, и это будет
вернуть строку
всякий раз, когда вызывается функция имени имени
и мы можем просто вернуться и назвать и
там мы идем, но мы действительно хотим
делать, когда мы имеем дело с
инкапсуляция защищает значения, которые
будут храниться таким образом , они могли бы
хотите войти сюда и установить высоту
и предположим, что мы решили, что мы
только хотите, чтобы они могли
разумной высоты мы могли бы обеспечить
проверить внутри здесь , чтобы убедиться , что
высота животного имеет смысл и в противном случае
отбросьте это, но в этой ситуации я
просто
это просто и красиво и собирается сделать
ТОЧНО то же самое здесь для
вес так вес и давайте иметь это
видео килограммов весовых килограммов и
Конечно, неважно , ставите ли вы
сантиметров или килограммов или то, что вы положили
внутри там и setname говорят животное
имя прямо сейчас, мы должны иметь это
отличается от этого, но я собираюсь
показать, как изменить это здесь в
второе имя животного прямо там
все остальное выглядит прекрасно и
то мы могли бы также создать другое
функции внутри здесь назовем это
и здесь мы создаем
прототип функции, которой мы являемся
собираюсь объявить здесь через секунду, вы
увидим это, и именно так мы
объявить прототип другой вещи, которую мы
хотел бы иметь конструктор и
что конструктор сначала с его имени
начнется с того, что
имя класса, а затем мы здесь
собирается создать прототип этого и
это будет функция , которая является
будет вызываться всякий раз, когда объект
созданный и, таким образом, он пройдет по высоте
вес и имя и
конструктор будет обрабатывать создание
каждый объект, если у нас есть конструктор, мы
все шоу должны иметь деструктор, и это
просто есть тот маленький знак тильды там
еще раз это будет
прототип , где я собираюсь строить
дверь объявляет фактический ниже
а затем скажем, что мы хотим иметь
другой конструктор , который не получает
ничего , и это является примером
перегрузка и перегрузка функции
как я говорил о ранее имени
могут быть одинаковыми, но необходимы атрибуты
быть разными, поэтому здесь у нас есть два инт.
и строка, в которой мы заканчиваем
ничего
есть также защищенные члены, когда
в основном, когда мы имеем дело с
что мы говорим, это то, что
все, что помечено как защита, будет
быть доступным для членов того же
класс, а также подклассы, но ничего
иначе, и мы могли бы прийти сюда и
определить статический метод и статический
метод отложен, потому что они
прилагается к классу, а не к
объект, поскольку вы собираетесь видеть, что я собираюсь
показать вам, как на самом деле
вызвать статический метод и в этом
ситуация статические методы также могут
доступ к статическим переменным-членам как это
парень, который мы здесь, прямо здесь, поэтому мы
будем иметь этот метод
в частности , иметь возможность вернуть
количество животных
которые созданы здесь мы идем , и это
мы не собираемся делать прототип
мы просто сделаем так, как это
Предполагалось, что это так, а также
наконец, мы создадим две строки, которые
собирается распечатать все
информация, которую мы имеем о наших животных в порядке
поэтому мы пошли, и мы объявили наш класс
это после этой маленькой фигурной скобки
мы поставим точку с запятой и теперь
мы собираемся объявить все, чтобы
самое первое, что мы собираемся объявить
является нашим статическим числом животных и как
мы ссылаемся на статические переменные,
название класса, за которым следуют эти два двоеточия
прямо здесь и далее, какое бы название
это связано с тем классом, который он имеет
абсолютно ничего не делать с объектом
мы можем тогда определить прототип
метод для набора всех так задан все правильно
здесь мы будем идти и определить его
там это был просто прототип и
мы собираемся сделать это, поставив пустоту
животное, а затем установить все так и
то мы должны точно определить , что
пройдя здесь, поэтому мы собираемся
имеют два дюйма для высоты и
вес, а также имя строки this
в основном делает то, что делает конструктор
но просто хотел показать вам что-то
теперь, если вы хотите обратиться к объекту
конкретная высота, а не только общий
тип высоты, который вы помещаете внутри
здесь и причина, по которой мы должны это делать
существует всякий раз, когда класс создается там
не созданы объекты животных, поэтому, если мы
хотите обратиться к животным, которого вы знаете
конкретные версии объектов животных или
значение для высоты, мы должны положить это в
перед ним , и там мы идем , и теперь мы
также может сделать то же самое для веса
а также просто измените это на вес
и изменить это на вес, и мы могли бы
также пришли сюда и использовали это
здесь посмотрим, как нам пришлось использовать сантиметры
вместо высоты или веса или
что бы там ни было, если бы мы
использовали это, мы бы смогли
обойти это просто способ ссылки
так что вы знаете код на самом деле
знает, что вы пытаетесь кодировать или что
вы пытаетесь сделать, вы также можете войти
здесь и измените эту статическую переменную
помните, что мы создаем или
значения здесь и потом снова мы
в основном собираюсь сделать это с помощью
конструктор , а также и помнить
конструктор вызывается каждый раз
объект животного создается так, что мы
идти, и это будет называться
Я собираюсь получить это прямо здесь int
имя строки ожидания, и это в основном
будет делать то же самое, что
это давайте просто входим туда вставить
это там, и вы можете видеть, что
в основном сказал, что все делает точно то же самое
вещь , что конструктор делает это есть
нет причин поместить это там, я просто
сделал это, чтобы я мог показать вам еще один
функция внутри там так давайте просто
избавиться от этого , чтобы показать вам регулярное
функции и конструкторы — это все
то же самое для конструктора D, мы просто
собирается пойти животное два двоеточия амперсанд
животное ничего не получает, а затем
мы могли бы прийти сюда и просто поставить
сообщение из животных мы получаем это конкретное
имя животного положите это там снова имя
и уничтожены так, что у нас есть
на экране, чтобы узнать, что
происходит у нас есть наш перегруженный
конструктор, который будет называться
всякий раз , когда никаких признаков не прошли в
животное животное все еще конструктор нет
атрибутов, и в этой ситуации мы
также могли бы назвать, что мы создали
другое животное, то у нас есть два
строка где , что в
там говорят , просто ничтожными строки
давайте приступим сюда и заявим, что
void не получает ничего животного класса
имя в строку не получает
атрибуты, и здесь мы могли бы войти и
просто распечатайте всю информацию, которую мы
иметь на нашем животном и получить высоту
для нашего конкретного объекта животного спрыгнуть вниз
в следующем слайде просто держите это аккуратно
сантиметров в высоту, и это ожидание
для него килограммов в весе и просто
закрыть , что от тогда мы сможем пойти
вниз в Мэн и начать создавать животных
объект, чтобы создать это, скажем, мы
хочу создать животное по имени Фред, мы
затем может войти в Фреда и установить его
высота до 33 устанавливает его вес до 10 и
Назовите его имя, конечно, Фреду мне нравится
что просто создайте новое животное Фреда, мы
мог бы вернуть обратно из него значения I
Fred dot получить имя, мы не
используя это здесь, чтобы показать вам
разница между попыткой получить
данные из самого класса и
затем попытаться достать его в другое место
сантиметров в высоту, а Фред получает вес
кг
в борьбе мы находимся, и мы могли бы также
войдите и используйте наш конструктор в этом
ситуация здесь используется по умолчанию
конструктор , который не получает никаких
атрибутов и здесь мы будем использовать
конструктор , который выдает ваши ставки
поэтому мы перейдем в 3615 и Том, а затем
мы будем иметь возможность также распечатать
все различия между Томом и Фредом
давайте напечатаем это , а затем просто
измените это на Тома, там есть Том
Том есть Том и сделал небольшую ошибку
здесь давайте просто подпрыгнем, чтобы задать имя и
давайте удостоверимся , что мы изменим это к
строка и целое число перемещается немного
бит слишком быстро здесь иногда делают мало
и есть имя животного
это также произошло здесь и изменилось
это имя, а затем измените это имя
все в порядке, так что теперь ты пойдешь
что мы создали объект Fred и Tom
давайте перейдем и выполним это и там
вы можете видеть, что fred — 33 см в высоту
10 килограммов весового тома 36
сантиметры высотой 15 килограммов в весе
и здесь вы можете видеть, что деструктор был
призванный уничтожать оба этих объекта
поскольку мы больше не нуждаемся в них, мы можем
также бывают и унаследовать все из
атрибуты и методы, которые
созданные с объекта животного и
вместо этого используйте их в нашем классе собак, чтобы
там мы только начинаем создавать новую собаку
класса и унаследовать все животные
классов мы просто поместили двоеточие, а затем
общественность и животное, и это все, что нам нужно
делать, и у нас есть все, что есть
определенных в классе животных, мы могли бы
зайдите сюда, конечно, и создайте
новые , так скажем, мы хотели иметь
звуковая строка, которая будет иметь
значение волка, и тогда мы могли бы также
заходите и создайте кучу публичных
методы, которые делают разные вещи
одно дело, что это нужно сделать, это
получить звук, и в этой ситуации я
просто собираюсь распечатать на нашем
экран так звучит, что мы идем с тех пор, как мы
будет звучать в нашем классе собаки
и наши объекты собаки, которые у нас будут
объявить новый конструктор, который также
для получения звука так int int string
и строка мне нравится, что с этим
мы могли бы также прийти сюда и
объявить конструктор по умолчанию, который не является
получать что угодно, а затем поверх
которые называют стандартным суперклассом
конструктор, похожий на этот
и мы есть, и мы могли бы также
решите переписать две строки, так как мы
также будут распечатывать
звук собаки , это все, что мы собираемся сделать
тут же помещает другую точку с запятой
здесь, в конце курса, очень важно
для нашего класса теперь мы должны пойти сюда
и фактически определить все, что было
собирается изменить таким образом , это будет
быть конструктором для нашей собаки, и это
собирается получить прошло в жесткой и
целочисленные веса и имя строки как
а как строка метки теперь ссылки
класс животных здесь и поместить двоеточие в
животное, и мы собираемся сказать здесь
что мы хотим, чтобы конструктор животных
обрабатывать высоту и вес с
он так хорошо справлялся с этим ранее
Я хочу , чтобы в этом конструкторе , чтобы иметь возможность
обрабатывать звуковую часть, потому что звук
не существует в классе животных и
здесь у нас будет только тема
парк, так что это отличный способ получить
конструктор животного вес высоты ручки
имя, потому что все эти атрибуты
совместное использование и в то же время
просто измените вещь, которая отличается
экономит нам некоторое пространство, также может прийти
здесь, потому что строка также изменилась так
давайте зайдем сюда и изменим его и
потому что атрибуты, такие как имя и
высота и вес были частными в животном
Мне нужно будет использовать метод get
чтобы иметь возможность доступа к ним , так что я иду
сказать это имя получить право как это
это высоту сантиметров высотой и
это вес весом в килограммах и
говорит , что это вещь , которая отличается
спрыгните сюда, этот звук теперь, я могу
демонстрируют фактически создание собаки
объект, так что давайте просто пойдем собаку и давайте
называют его месте я собираюсь пройти в 38 16
его имя — пятно, и звук идет
быть волком , если я просто хочу
демонстрируйте использование статических методов здесь
увидеть количество животных, которые
созданного животного и вызвать статическую
метод, который вы получаете, ошеломляет животных
считают , что это то , что они назвали его найти
через секунду, и теперь я тоже собираюсь
быть в состоянии пойти, точка, это звук и
мы могли бы также пойти и получить тест Тома
строка, которая в основном работает со всеми
что другие вещи делали там точечные точки
в строку и просто , чтобы показать вам один другой
мы могли бы также назвать суперкласс
версия метода, находясь на месте животного
а затем положить в два двоеточия и
строка и, кстати, я продолжаю звонить
эти два двоеточия называются областью
оператора, если вы хотите знать, что это такое
действительно называется и, конечно, конец здесь
убедитесь, что мы поставили наше заявление о возврате
с нулем, и если мы его выполним, вы можете
говорят, что все количество
животные, которые были созданы, вы можете видеть
там три, и это включает
пятно, являющееся собакой, а также Фред и
Также Том так что это причина , почему это
и причина, по которой
конструктор животных назывался каждый
один раз , была ли собака создана или
животные были созданы, вы можете увидеть волка
прямо здесь, этот парень прямо здесь
вызывают звук, который вы видите
вызов строки для вывода на печать
информацию о том, что мы видим здесь
это место также говорит, что волк
регулярное животное не
автоматически работает, и здесь мы просто
демонстрируя использование
строка и в этой ситуации пятно
есть ли у него звук или нет
потому что мы называем животных
версия двух струн и животного
выводится только версия из двух строк
высота и вес, а также
имя, а затем, наконец, вы можете увидеть
здесь, где деструкторы называются
и все наши объекты уничтожены
теперь пришло время поговорить о виртуальном
методы и полиморфизм Я собираюсь провести
от определения полиморфизма
здесь и вместо этого создать новое животное
класс, и у него будет какая-то общественная
что он делает и что он собирается
делать здесь сначала — это получить семью, которая
Я буду называть семью
объекты, и мы просто говорим, что мы
животные закрывают это, а затем это
где мы получаем два виртуальных метода, я
пометив это как виртуальное, а затем
Я собираюсь изменить его назад
от виртуального в основном мы отмечаем метод
как виртуальный, когда мы знаем, что животное
в этой ситуации будет базовый класс
что этот метод может быть перезаписан
подкласс , и вы будете видеть его в
действие здесь будет иметь смысл, когда
вы видите это в действии, поэтому в этом
скажем, получить класс, а затем
Я пойду, я и, и хорошо, так что
все в семье животных , кроме
конкретный класс для этого — животное в
эта ситуация и близко , что от и
Теперь мы собираемся нужно создать
подкласс называется собака типа и многое другое
он наследуется от животных и
у него будет общественный курс.
наследует все, чтобы получить класс в этом
случай я собака собирается получить печатные
и затем закрыть этот класс сейчас
что мы сможем сделать здесь
сошёл внутри здесь создать
класс животных равен новому животному и
собака в этой ситуации новая собака сейчас в
эта ситуация не имеет значения
если это отмечено как виртуальное или нет
потому что это и ссылки на
животных и собак, как вы можете видеть
здесь я могу просто пойти животным — получить класс
и собака точка получить класс право подобное
здесь я получил виртуальную часть оттуда
и здесь вы можете увидеть, выполняю ли я это
Я собака, и я — животное, и печатное
они на экране, если бы я был
попытаться вызвать класс get из
вы увидите, что мы получаем
некоторые проблемы, поэтому мы собираемся сказать
void какой класс вы и мы проходим
животным объектом они оба животные
объекты хорошо запоминают, вы думаете
Я бы мог пойти на животное получить класс и
получить точно такие же результаты, однако
как вы собираетесь , чтобы увидеть , если я могу это сделать с помощью
проходя мимо животных и собак, мы не получаем
результаты, которые мы ожидаем вместо
бывает, что я животное попадает в
оба раза, если мы хотим иметь возможность звонить
правильный класс для собаки и
правильно получить класс для животных все мы
нужно сделать, это придумать здесь и ввести
виртуальный, и все это означает, что это
говоря, что мы ожидаем, что это изменится так
если вы получите собаку, будь то животное
или нет, почему бы вам не пойти на риск
и посмотрите, будет ли класс get
в классе собаки или собаке
и теперь вы будете видеть все
распечатывает точно правильный путь сейчас
мы собираемся подойти и создать
еще пару классов , скажем, что мы
также хотят создать еще один класс и
давайте назовем эту немецкую овчарку, которая
немного более конкретным, и это
собирается быть собакой типа, и тогда мы будем
входить и вводить публичную пустоту и
перезаписать класс, я немецкий
Shepherd ndele закрывает фигурные скобки и
void get производный Я животное и собака
ndele закрывает фигурные скобки и теперь приходит
здесь и немного экспериментируйте
больше смотреть в основном полиморфизм все это
означает, когда животное передается
в такой ситуации, как это было здесь
мы прошли в объекте животного, это
автоматически собираются найти правильное
метод для вызова, так что это
в основном это теперь есть много способов, которыми вы
может применяться полиморфизм, но полиморфизм
сам по себе выглядит так, давайте
создайте объект собаки, а затем давайте
создать немецкую овчарку и называть его
max базовый класс также может вызывать производные
класса, если они существуют в
базовый класс, поэтому мы собираемся придумать
здесь создайте животное, это указатель на
собаку и получить ссылку на пятно
мы просто положили это немного обратное и в
создайте еще один и укажите это
Немецкой овчарки получить ссылку
к этому с помощью Max мы можем теперь назвать
метод, который не был перезаписан никаким
других классов получают семью, которая
то же самое животное, которое мы могли бы назвать
получить класс, который был перезаписан, а затем
Приходите сюда, измените это развернутое извинение
об этом, а потом, конечно, тоже
от нашего класса фигурные скобки и
выполнить его и там вы можете увидеть , что мы
собак, которых мы смогли назвать этим парнем
правильно, а затем я собака, это
ссылка на место собаки, и мы смогли
позвонить правильной семье, потому что
это было указано как животное, а также
мы можем назвать очень конкретные
класс, который находится на собаке, хотя
они были перечислены , как животные еще
пример полиморфизма другое
это аккуратно, мы можем называть
суперкласс Немецкая овчарка, потому что
все наследуется, поэтому мы можем позвонить
получить семью, которая проживает в животном
класса, и, конечно, мы также можем назвать
перезаписанная версия немецкой овчарки
пастух, и он автоматически
пойдите и получите правильную вещь, как вы можете
видеть, что мы животные, и я
Немецкая овчарка, поэтому есть пример
используя виртуальные методы, а также целое
множество различных примеров того, как
полиморфизм работает, а затем, наконец,
получить полиморфизм в процентах в вашем
голова пойдем и создадим животное
объекта, а также объект собаки и кошки
объект, который все наследует от животного
класс, теперь животное будет
виртуальный метод снова, потому что мы собираемся
переопределить его, и мы будем лечить
они как животные, потому что они фигурные
скобка, и мы скажем, что животное говорит
гер в основном будет делать именно сделать
конечно, вы положили эту закрывающуюся фигурную скобку
тогда мы не собираемся
скопируйте виртуальную часть в этой ситуации
в собаке здесь мы собираемся сказать, что
собака говорит woof, а затем кошка говорит мяу
как домашнее задание, вы можете посмотреть, как вы
фактически создал бы класс животных как
класс возможностей, который существует только для
из этого следует понимать, что
ваша домашняя работа, потому что вы, ребята, спросили
для домашней работы все время, и теперь я
собираюсь также прыгнуть сюда и дать вам
пример того, какой абстрактный тип данных
выглядит так, допустим, у нас есть машина
и это больше для завертчиков
причинам, чем что-либо еще, что мы могли бы прийти
здесь и общественность снова виртуальный ИНТ получить
numb колесирует значение 0 и виртуальный int
получите оцепенелые двери, и тогда вы сможете
получить это, придя сюда и
создание нового класса под названием stationwagon
наследовать от автомобиля, хотя автомобиль не
сделать что-нибудь закрывающее скобки
а затем войти и определить все
которые мы видели в общем автомобиле или
абстрактный тип абстрактных данных автомобиля
колеса как для колес , как , что близко
это, а затем мы могли бы пойти int get
ошеломляющие двери, как мы определили здесь
в этом абстрактном типе данных для этапа автомобиля
вагон имеет четыре двери, и тогда мы можем
также приходите сюда и идите в универсал
создать пустой конструктор и
деструктор прямо как что теперь давайте
спрыгните в Мэн и поиграйте с
эти ребята, поэтому мы собираемся создать
другое животное здесь для нашего кота и
сделайте так, что мы просто называем собаку кошки и животных
новая собака, и мы можем видеть, что если мы позвоним
кошка специально говорит, что мы этого хотим
сделать звук, а затем мы сделаем то же самое
с собакой вы можете видеть, что
кошка говорит мяу, и собака говорит, что волк даже
хотя оба они созданы как животные
теперь давайте войдем и протестируем наш реферат
тип данных с автомобилем давайте создадим
Автофургон
типа автомобиля он равен новой станции
вагон
Мне это нравится, и хотя это автомобиль
объект получает оцепенелые колеса, вы можете видеть, что
универсал имеет четыре колеса
там на экране есть целое
куча различных примеров
полиморфизма и целого ряда
информация о C ++ надеюсь, что вам понравилось
это видео, если вы действительно смотрите
целая вещь, пожалуйста, оставьте
комментарий, рассказывающий мне, чтобы я действительно
оцените это и, пожалуйста, оставьте
вопросы и комментарии ниже в противном случае
до следующего раза
Please follow and like us:

Be First to Comment

Добавить комментарий