Давным давно, помнится, я брал игры от телефонов, декомпилировал их, переводил на русский и собирал обратно в .jar файл. Языка java я не знал и мне всё было интересно, чёйта там за классы в каждом файле. И вот спустя 13 лет я таки понял, что это за классы такие)) Но автор молодца! Объясняет так, что даже я понимаю))
Можно сделать еще интереснее, чтобы не в коде прописывать 3 параметра для объекта, а в консоли. Т.е создать функцию чтобы записывать данные в переменные: void input() { cin >> year; cin >> month; cin >> day; } А внизу вместо shkoda.set(параметры); прописать shkoda.input();
Такое получилось. Сначала просто так сделал, потом захотелось со вводом. Но со вводом как-то громоздко если в мейне его делать, поэтому перенес его в функцию класса. class House { private: int floor_amount, age, room_amount; string name; public: void set(string name_house, int floor_house, int room_house, int age_house) { cout name_house; cout floor_house; cout room_house; cout age_house; name = name_house; floor_amount = floor_house; room_amount = room_house; age = age_house; } void get() { cout
Понимаю, что не очень актуальная, но немного полезная информация для автора: "is" и "-" - одно и то же. Например, "месяц - 11" переводится как "(the) month is 11"
Молодец, неплохо, но... (знаю что уже почти год прошёл, скорее всего уже хорошо шаришь, но для остальных интересующихся напишу) Плохо что ты используешь разные отдельные функции get и set для каждого бренда телефона. Таким образом ты не совсем верно использовал главную фишку ООП, показанную автором в этом видео --> суть в том, что имея одну функцию, можно забивать совершенно разные значения под каждый из экземпляров класса. (Знаю что юзал скорее для текста cout, но так, думаю, не стоит делать)
@@timohavol8032 Молодец, неплохо, но... (знаю что уже почти год прошёл, скорее всего уже научился гуглить, но для остальных интересующихся напишу) Плохо что ты используешь слово yadra ведь ты знаешь слова year и size. Таким образом это выглядит максимльно нелепо. (думаю, не стоит так делать)
Очень хороший урок, объясняешь просто отлично, спасибо большое. Подскажи, пожалуйста, только как называется программа(компилятор), который показан на видео
Помогите, пожалуйста!!! Я написала класс,как вы и говорили и показывали, но подчеркивает cin, cout и пишет "cin does not name a type" так же и для cout .
В с++ вообще нет никаких структур. Пусть название ключевого слова struct не вводит вас в заблуждение. На самом деле оно описывает класс, а не структуру. При использовании ключевого слова struct, модификатор доступа к членам и наследование по умолчанию являются публичными, в то время как при использовании ключевого слова class, модификаторы доступа и наследования являются приватными.
Вот мое скромное Д/З )) Хотел создать несколько классов с разными значениями, но после, ничего не хочет работать (не найдена точка входа). Я так понял, что залез дальше, за рамки этого урока. Ну а так, вот: #include using namespace std; class Auto { private: int Количество__ядер, RAM_, Емкость__аккумулятора; float Частота__CPU; public: void message() { setlocale(LC_CTYPE, "rus"); cout
Исправил твои ошибки. Вот рабочий код: #include using namespace std; class Auto { private: int Количество__ядер, RAM_, Емкость__аккумулятора; float Частота__CPU; public: void message() { setlocale(LC_CTYPE, "rus"); cout
Начиная с 1984, Кэй был ведущим исследователем (Apple Fellow) в Apple до закрытия группы перспективных технологий (ATG), одного из отделов исследований и разработок. Тогда он присоединился к Walt Disney Imagineering в качестве главного исследователя (Disney Fellow) и оставался там до тех пор, пока Дисней не закрыл свою программу Disney Fellow. Позже Кэй работал в команде Applied Minds, затем стал главным сотрудником (Senior Fellow) в Hewlett-Packard, пока HP не распустил команду перспективных исследований в области программного обеспечения 20 июля 2005 года. Теперь понятно, почему Smalltalk не взлетел.
@@princessmary5556 В такой формулировке я не вижу разницы с Цэ без плюсплюс. Всё данные и там находятся в какой-то области памяти. Со всеми данными так или иначе и там работают. Ещё раз, я ничего при этом не "пытаюсь"! Я просто не понимаю, зачем слово функции заменили на слово методы, зачем набор данных заменили на слово класс? А в итоге не могу думать в формате С++. Более того, я в своё время занимался и преподавательской деятельностью и из этой работы я вынес стойкое убеждение, что прежде, чем ученику что-то объяснять, нужно выяснить, что у него в голове сложилось не так. Другими словами: "Ты думаешь и уверен в том, что видишь на небе звезды со всей Вселенной, а это не так. Ты видишь звёзды только находящиеся в нашей галактике. Да и то, только небольшую часть из 300 миллиардов оных." Вот как-то так. Кстати, примерно так же я в своё время объяснял понятные мне вещи, но непонятные однокурсникам.
►Без привата выходит короче. Разумеется, Гоша просто показывает, что так можно, но если оптимизировать именно этот код, то будет так: #include using namespace std; class Auto { public: int year, month, day; void message() { cout
Парень, похоже, сам не понимает сути ООП, если описывая ООП, он по сути описывал преимущества процедурного программирования. В ООП главная мысль совсем в другом. Идеальный ООП код не содержит глобальных переменных, а все объекты не спутаны между собой нитями взаимосвязей. Любой объект можно заменить и не придётся переписывать под эту замену половину кода как в процедурном программировании.
Моё дз) Знаю поздно но что поделать) Если здесь кто-то ещё есть подскажите как улучшить мой этот мини код, может его можно уменьшить?)) #include using namespace std; class Auto { private: int year, month, day; public: void message () { cout
В функцию get помести ещо один параметр - название автомобиля.И при вивода на екран виводи не разние функции а одну но с разними значениями етой переменной.Тоесть с разним названием P.S.Извините за руский.Я украинец русский знаю плохо а пишу на нем чмсто из уважения к собеседнику.На момент написания коментария 13 лет.
Не много не правильно объяснил суть функции set. Попробуй вызвать таким образом, shkoda.set(-32, 35, 'W'); и посмотри что выведется на экран. Чтобы такого не произошло в функции set ВСЕГДА производиться проверка на корректность принимаемых данных. Так как класс закрытый ящик, то ошибочные данные могут убить всю программу.
Классы свободно можно помещать функции, такие классы называются локальные...даже в замыканиях лямбд их можно определять...прежде чем болтать чухню на видео лучше бы матч-часть разбирал
"И копировали бы весь код для новой вкладки. То есть это х... Это плохо! "
проорал на этом моменте
пеесматривал еще раз на этом моменте)
2:05
так можно было бы создать бесконечный цикл while
И копировали бы весь код для новой вкладки.
Но это же полный бред!!!
У нас просто была бы функция, создающая новую вкладку
Давным давно, помнится, я брал игры от телефонов, декомпилировал их, переводил на русский и собирал обратно в .jar файл. Языка java я не знал и мне всё было интересно, чёйта там за классы в каждом файле. И вот спустя 13 лет я таки понял, что это за классы такие))
Но автор молодца! Объясняет так, что даже я понимаю))
Сергей Фомичев Жиза
какой декампилятор ты использовал ?
Хах я тоже с похожего начинал декомпилировал плагины для серверов Minecraft и русифицировал
Можно сделать еще интереснее, чтобы не в коде прописывать 3 параметра для объекта, а в консоли.
Т.е создать функцию чтобы записывать данные в переменные:
void input() {
cin >> year;
cin >> month;
cin >> day;
}
А внизу вместо shkoda.set(параметры); прописать shkoda.input();
Спасибо тебе, Гоша. Очень полезные и продуктивные уроки. Осваивается язык с твоей помощью очень легко
Спасибо. Понятное и интересное объяснение.
Обалденные уроки и шикарная подача! От остальных авторов я засыпал реально)))))))))
02:10 чуть не матюкнулся))
+++
Это гениально!Спасибо вам)
У автора 100% Шкода :)
👍👍👍💪👏👏👏 Спасибо! Создал свой клас с использованием Кирилицы .
2:08 хотел сказать, что - то, но передумал😉
Здравствуй а когда ты будешь говорить про создание GUI и будешь ли вообще про него говорить?
Спасибо!
" 1:50 -- то мы бы просто копировали весь код ради одной вкладки. Это х... это плохо.."
Спасибо!
Только что глянул, помог с темой) В вузе не мог выучить нифига, завтра экз. Луцек ставлю)
Такое получилось. Сначала просто так сделал, потом захотелось со вводом. Но со вводом как-то громоздко если в мейне его делать, поэтому перенес его в функцию класса.
class House
{
private:
int floor_amount, age, room_amount;
string name;
public:
void set(string name_house, int floor_house, int room_house, int age_house)
{
cout name_house;
cout floor_house;
cout room_house;
cout age_house;
name = name_house;
floor_amount = floor_house;
room_amount = room_house;
age = age_house;
}
void get()
{
cout
хорошее видео , молодец.
Это ху, это плохо)))
Как выделять и сразу коментировать на вижуал студио
Хорошо комментируешь (2:09 - Это х..... Это плохо...)
Понимаю, что не очень актуальная, но немного полезная информация для автора: "is" и "-" - одно и то же. Например, "месяц - 11" переводится как "(the) month is 11"
Спасибо большое за твои старания...
#include
using namespace std;
class Home{
private:
int floor, room, price;
public:
void set(int hm_floor, int hm_room, int hm_price){
floor = hm_floor;
room = hm_room;
price = hm_price;
}
void get() {
cout
удобненько и воды немного спасибо
Прикольно, что я смотрю это видео 23 ноября)))
#include
#include
using namespace std;
class houses {
private:
int windows ;
bool pool;
float square;
string name;
public:
void message() {
cout
Получилось круто, можно еще вместо if(pool == 1) **код** else **код** , сделать так:
**Код** if(pool == 1) cout
#include "stdafx.h"
#include
#include
using namespace std;
class phone {
private:
int year, size, yadra;public:
void message() {
cout
Молодец, неплохо, но... (знаю что уже почти год прошёл, скорее всего уже хорошо шаришь, но для остальных интересующихся напишу) Плохо что ты используешь разные отдельные функции get и set для каждого бренда телефона. Таким образом ты не совсем верно использовал главную фишку ООП, показанную автором в этом видео --> суть в том, что имея одну функцию, можно забивать совершенно разные значения под каждый из экземпляров класса. (Знаю что юзал скорее для текста cout, но так, думаю, не стоит делать)
@@timohavol8032 Молодец, неплохо, но... (знаю что уже почти год прошёл, скорее всего уже научился гуглить, но для остальных интересующихся напишу) Плохо что ты используешь слово yadra ведь ты знаешь слова year и size. Таким образом это выглядит максимльно нелепо. (думаю, не стоит так делать)
Поправьте если что-то не так,но разве public,private,protected это не спецификаторы доступа?
будут ли уроки по c++ || c# для профф?
Очень хороший урок, объясняешь просто отлично, спасибо большое. Подскажи, пожалуйста, только как называется программа(компилятор), который показан на видео
даша ириньева , на mac -Xcode на Windows - visual studio или code block(на крайняк)
2:09 копировать весь код это ху...плохо для программы)
как правильно вынести данный класс "авто" в другой файл и подключить его к этому проекту?
Ну когда же шкода будет записываться правильно: "Skoda" без h =D
И через Š
а почему бы не получать доступ через наследование . class a :: public auto
Помогите, пожалуйста!!!
Я написала класс,как вы и говорили и показывали, но подчеркивает cin, cout и пишет "cin does not name a type" так же и для cout .
пропиши using namespace std; в начале программы еще до всех функций и классов....
а если я еще хочу что бы у меня писался цвет типо "orange",как это сделать?
Скажи пожалуйста, а что за компилятор это у тебя?
#include
#include
#include
#include
#include
using namespace std;
class Tree {
private:
int number, number_List;
public:
void message() {
cout
В чем отличие структуры от класса (естественно в с++)?
Как минимум в том,что ты можешь прописывать функции внутри класса(в отличие от структуры),применять наследование
@@milkyshake5902 Бред.
В с++ вообще нет никаких структур. Пусть название ключевого слова struct не вводит вас в заблуждение. На самом деле оно описывает класс, а не структуру. При использовании ключевого слова struct, модификатор доступа к членам и наследование по умолчанию являются публичными, в то время как при использовании ключевого слова class, модификаторы доступа и наследования являются приватными.
Вот мое скромное Д/З ))
Хотел создать несколько классов с разными значениями, но после, ничего не хочет работать (не найдена точка входа). Я так понял, что залез дальше, за рамки этого урока.
Ну а так, вот:
#include
using namespace std;
class Auto {
private:
int Количество__ядер, RAM_, Емкость__аккумулятора;
float Частота__CPU;
public:
void message() {
setlocale(LC_CTYPE, "rus");
cout
Исправил твои ошибки.
Вот рабочий код:
#include
using namespace std;
class Auto {
private:
int Количество__ядер, RAM_, Емкость__аккумулятора;
float Частота__CPU;
public:
void message() {
setlocale(LC_CTYPE, "rus");
cout
А если я захочу поменять параметр shkoda, например год, как это сделать?
Гоша, посоветуй. Как лучше запомнить ООП. Я вроде понял. Но запомнить, трудновато.
а есть ли в С++ Getter и Setter?
нет
Моё ДЗ:
#include
#include
using namespace std;
void menu();
class Game {
private:
int date[3], price, PEGI;
public:
char name[20];
void set() {
cout > name;
cout > date[0];
cout > date[1];
cout > date[2];
cout > price;
cout > PEGI;
}
void get() {
cout
Спс мне как раз нужен был чей то код где я смогу разобратся
@@mironstav2-223 жесть ты древность откопал
ООП и 2я машина появилась!)
хахахах
Ввел вроде бы все правильно,но на консоли выводит только class is working. Кто нибудь сталкивался с таким?
Почему первая програма не работает VS2017?
А зачем создавать 2 функции в классе,если можно было этот cout написать в функции set?
2:07 мат хотел сказать
Кто-нибудь может сказать в чем отличие структуры от классов??
красИвее ):
2:09
@@AlexanderSemenko это ху... это плохо
@@AlexanderSemenko Нет, не весь. Зачем вы балаболите о том, в чем не разбираетесь?
#include
#include
using namespace std;
class Dom {
private:
int wide, length, age;
string type;
public:
void set(int _wide, int _length, int _age, string _type) {
wide = _wide;
length = _length;
age = _age;
type = _type;
}
float perimetr(int wide, int length) {
return wide + length;
}
float square(int wide, int length) {
return wide * length;
}
float price(int age) {
float res = square(wide, length) / perimetr(wide, length)*pow(age, 2);
return res;
}
void info() {
cout
Странно у меня почему то ошибку выводит!
а как слово вывести то ?
Никита Абраменко ,а имею ввиду как с клавиатуры ввести...
"это х, это плохо" ©
Объясните, пожалуйста, как выводить строки с помощью классов, а не только тип int
#include
string название;
cin >> название;
cout
Ты вообще мой вопрос видел?
А че за IDE кстати?
XCode
А про protected: забыл, печально...
в начале было все понятно но потом начал совмещать публичный и закрытый клас мозги взорвались
Я придумал термин «объектно-ориентированный», и я уверяю вас, что не имел в виду C++ ©Алан Кей
Начиная с 1984, Кэй был ведущим исследователем (Apple Fellow) в Apple до закрытия группы перспективных технологий (ATG), одного из отделов исследований и разработок. Тогда он присоединился к Walt Disney Imagineering в качестве главного исследователя (Disney Fellow) и оставался там до тех пор, пока Дисней не закрыл свою программу Disney Fellow. Позже Кэй работал в команде Applied Minds, затем стал главным сотрудником (Senior Fellow) в Hewlett-Packard, пока HP не распустил команду перспективных исследований в области программного обеспечения 20 июля 2005 года.
Теперь понятно, почему Smalltalk не взлетел.
Можно не создавать метод get, а его содержимое просто написать в set.
Что такое класс? Что такое объект?
Объект - область памяти.
Класс - тип данных. Определяет содержимое объекта, а так же методы для его обработки.
@@princessmary5556 В такой формулировке я не вижу разницы с Цэ без плюсплюс. Всё данные и там находятся в какой-то области памяти. Со всеми данными так или иначе и там работают. Ещё раз, я ничего при этом не "пытаюсь"! Я просто не понимаю, зачем слово функции заменили на слово методы, зачем набор данных заменили на слово класс? А в итоге не могу думать в формате С++. Более того, я в своё время занимался и преподавательской деятельностью и из этой работы я вынес стойкое убеждение, что прежде, чем ученику что-то объяснять, нужно выяснить, что у него в голове сложилось не так. Другими словами: "Ты думаешь и уверен в том, что видишь на небе звезды со всей Вселенной, а это не так. Ты видишь звёзды только находящиеся в нашей галактике. Да и то, только небольшую часть из 300 миллиардов оных." Вот как-то так. Кстати, примерно так же я в своё время объяснял понятные мне вещи, но непонятные однокурсникам.
Функции используют классы? Что дальше, ноги используют человека? Может наоборот?
шкода правильно пишется без h: skoda
А ЗАЧЕМ тогда в прайват пихать данные, если их потом изменять через паблик
Это принцип инкапсуляции, почитай в инете на эту тему. Там более подробно описано, чем я смогу тебе обьяснить.
Константин Галицкий я знаю примерно что это
►Без привата выходит короче. Разумеется, Гоша просто показывает, что так можно, но если оптимизировать именно этот код, то будет так:
#include
using namespace std;
class Auto
{
public:
int year, month, day;
void message()
{
cout
одно не понятно, для чего нужны классы и структуры
в классы ты можешь добавлять методы и функции
Одноклассники в деле
Парень, похоже, сам не понимает сути ООП, если описывая ООП, он по сути описывал преимущества процедурного программирования. В ООП главная мысль совсем в другом. Идеальный ООП код не содержит глобальных переменных, а все объекты не спутаны между собой нитями взаимосвязей. Любой объект можно заменить и не придётся переписывать под эту замену половину кода как в процедурном программировании.
Можете скинуть нормальный курс или видео обучение?
Действительно, вообще не понимает, великолепная и большая тема про ООП, а у него просто бред.
Моё дз) Знаю поздно но что поделать)
Если здесь кто-то ещё есть подскажите как улучшить мой этот мини код, может его можно уменьшить?))
#include
using namespace std;
class Auto {
private:
int year, month, day;
public:
void message () {
cout
В функцию get помести ещо один параметр - название автомобиля.И при вивода на екран виводи не разние функции а одну но с разними значениями етой переменной.Тоесть с разним названием
P.S.Извините за руский.Я украинец русский знаю плохо а пишу на нем чмсто из уважения к собеседнику.На момент написания коментария 13 лет.
Богдан Шилов, спасибо за ответ
Привет спустя 5 лет , ты уже стал програмистом ?🙂🙂🙂
@@mbpdddнет
@@Андрій-ь4ц6ч печально
Не много не правильно объяснил суть функции set. Попробуй вызвать таким образом, shkoda.set(-32, 35, 'W'); и посмотри что выведется на экран. Чтобы такого не произошло в функции set ВСЕГДА производиться проверка на корректность принимаемых данных. Так как класс закрытый ящик, то ошибочные данные могут убить всю программу.
0
Классы свободно можно помещать функции, такие классы называются локальные...даже в замыканиях лямбд их можно определять...прежде чем болтать чухню на видео лучше бы матч-часть разбирал
Паблык. Так раздражает.
Правильно пишется Škoda
ничё так и не понял. Куча граблей для того чтобы воспользоваться одной функцией которую и так можно было написать.