Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
bekabot
1 / 1 / 0
Регистрация: 18.12.2013
Сообщений: 61
#1

Где взять учебник, в котором описывается работа с классами - C++

04.01.2014, 12:45. Просмотров 955. Ответов 23
Метки нет (Все метки)

хотел сначала научиться классам, но не знаю как - в ютубе только основа и без продолжения, а мне нужен учебник или что-то в этом роде, чтобы прям от начало и до конца можно было учить классы. Заранее благодарю!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.01.2014, 12:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Где взять учебник, в котором описывается работа с классами (C++):

Работа с файлами C++. Где взять теорию для написания курсовой? - C++
Нужно написать курсовую на тему Работа с файлами С++. Тему эту я немного изучил из книги Джесс Либерти с++ за 21 день. Помогите найти...

Разделение проекта на файлы .cpp где полностью описывается один класс - C++
Всем привет! Бьюсь над задачей: есть несколько классов, куча объявленных констант через #define и отдельные функции. Захотел все это...

Посоветуйте новичку книжку или сайт, где описывается создание графического интерфейса в VC - C++
Добрый вечер, подскажите пожалуйста какую нибудь книжку или сайт где описывается создание графического интерфейса в VC.

Где скачать нормальный учебник по C/C++ ? - C++
Где можно скачать нормальный учебник по C+\С++ И что ещё надо, программы??? Или что напишите а то я не знаю. Киньте пожалуйста ссылки

Где в интернете найти толковый учебник по VC++? - C++
Где в интернете найти толковый учебник по VC++? Желательно бесплатный. Заранее благодарю.

Где можно найти хороший учебник по C++? - C++
Где можно найти хороший учебник по C++? Желательно чтобы он находился в И-нете и его можно скачать.

23
AlukardBF
4 / 4 / 0
Регистрация: 20.08.2013
Сообщений: 24
06.01.2014, 00:49 #16
О классах довольно подробно рассказывается в книге братьев Дейтелов - "Как программировать на C++".
0
Kuzia domovenok
1947 / 1800 / 137
Регистрация: 25.03.2012
Сообщений: 6,238
Записей в блоге: 1
06.01.2014, 01:10 #17
Цитата Сообщение от Бендерродригез Посмотреть сообщение
Взялся за C++, так изучи плюсы, а потом, если уж приспичит, и С.
ИМХО Страуструпп не прав. Пусть он Hello World для какого-нибудь восьмибитного микроконтроллера напишет так, чтобы программа работала быстрее(не медленнее), чем на Си.

Добавлено через 6 минут
Цитата Сообщение от Бендерродригез Посмотреть сообщение
Какие такие основы? printf вместо cout?
в том числе оно. Для понимания printf достаточно знать тему "функции в Си". Даже ещё лучше использовать puts вместо printf - исчезнут проблемы форматирования строк!

А что такое cout? Уже объект! А из какого namespace'а объект? А какого класса объект? А от чего унаследован этот класс? А когда конструируется этот cout? А что это за оператор <<? А почему оператор сдвига занимается выводом в поток? А что такое перегрузка операторов?
Вопросов возникает на порядок больше, чем в Си. И уж точно эти вопросы не для первого урока!
1
Бендерродригез
Сгибальщик
42 / 42 / 3
Регистрация: 18.05.2013
Сообщений: 220
Завершенные тесты: 1
06.01.2014, 11:02 #18
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
ИМХО Страуструпп не прав. Пусть он Hello World для какого-нибудь восьмибитного микроконтроллера напишет так, чтобы программа работала быстрее(не медленнее), чем на Си.
"Единственная вразумительная причина, из-за которой, как я знаю, используют чистый C, а не C++, — это ограниченные возможности конкретной платформы." - он сам об этом говорит. А во-вторых, каждый инструмент надо использовать по назначению.
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
в том числе оно. Для понимания printf достаточно знать тему "функции в Си". Даже ещё лучше использовать puts вместо printf - исчезнут проблемы форматирования строк!

А что такое cout? Уже объект! А из какого namespace'а объект? А какого класса объект? А от чего унаследован этот класс? А когда конструируется этот cout? А что это за оператор <<? А почему оператор сдвига занимается выводом в поток? А что такое перегрузка операторов?
Вопросов возникает на порядок больше, чем в Си. И уж точно эти вопросы не для первого урока!
У тебя нет никакой последовательности в вопросах. Если изучаешь язык впервые, то таких вопросов просто не возникнет, потому как "что такое namespase" оговаривается после хелловорда сразу же. Необходимость конструктора для объектов изучается когда дело доходит до самих объектов (откуда взяться вопросу-то?). Наследование - и того дальше (а если ты уже знаешь ООП и лезешь с такими вопросами, то учился ты странным кривым способом, который не дал тебе понять, что всё объясняется в своё время). Перегрузка операторов и << - да всё оттуда же. Причём, знание С как раз таки породит недоумение (да и то, если опять же с тем же методом обучения), а вот начинание с чистого листа эти "умные" вопросы просто-напросто отсекает.
И ясен пень, что всё это будет вылито на неокрепший ум не на первой же странице, если автор не идиот. Понял, как отправлять данные в выходной поток? Молодец, как оно работает - позже, а пока что на тебе типы данных и строгая типизация (не то что в С).

И да, повторюсь:
Что такого можно найти в С, чтобы ВНЕЗАПНО обнаружить это и в С++?
0
silent_1991
Эксперт С++
4986 / 3043 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
10.01.2014, 13:52 #19
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Для понимания printf достаточно знать тему "функции в Си".
Для понимания функции printf помимо функций надо знать указатели, эллипсис, правила автоматического приведения типов, а ещё про то, что такое стек и что будет, если он переполнится или если программа попытается обратиться за его пределы. Это по аналогии с вашими рассуждениями по поводу cout. А если описывать cout по аналогии с вашим "Для понимания printf достаточно знать тему "функции в Си"" - то для понимания cout достаточно знать, что чтобы вывести что-то на экран, надо написать std::cout << что-то;
1
Kuzia domovenok
1947 / 1800 / 137
Регистрация: 25.03.2012
Сообщений: 6,238
Записей в блоге: 1
10.01.2014, 17:28 #20
silent_1991, как минимум с таким подходом новичёк будет думать, что << это оператор вывода. Я готов спорить, что больше половины начинающих на первом уроке с таким подходом пишут cout<<"hello", но не знают вообще ни одного оператора в Си.
Кстати аналогия с printf и знанием о стеке неудачна. Боюсь ошибиться, но вроде тема стека не является частью языка Си или С++. (Т.е. в учебниках, документации, хелпе, стандартах её не упоминают и теоретически реализация принтф может быть другой. Просто оговаривается, что передаваемые параметры должны соответствовать форматной строке и всё)
0
silent_1991
Эксперт С++
4986 / 3043 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
10.01.2014, 17:45 #21
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Я готов спорить, что больше половины начинающих на первом уроке с таким подходом пишут cout<<"hello", но не знают вообще ни одного оператора в Си.
Об этом можно и не спорить. Но в то же время, на первой лабе по сям новички переписывают из методички printf("hello world\n");, не зная ни о функциях, ни о строковых литералах.
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Кстати аналогия с printf и знанием о стеке неудачна. Боюсь ошибиться, но вроде тема стека не является частью языка Си или С++. (Т.е. в учебниках, документации, хелпе, стандартах её не упоминают и теоретически реализация принтф может быть другой. Просто оговаривается, что передаваемые параметры должны соответствовать форматной строке и всё)
Наверное, да, к чистому языку это мало относится, но мы всё-таки живём в реальном мире, где в большинстве случаев параметры передаются в функцию через стек. Язык знать мало, надо ещё и понимать окружение, в котором работают программы, на нём написанные.
0
Бендерродригез
Сгибальщик
42 / 42 / 3
Регистрация: 18.05.2013
Сообщений: 220
Завершенные тесты: 1
10.01.2014, 17:45 #22
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
silent_1991, как минимум с таким подходом новичёк будет думать, что << это оператор вывода. Я готов спорить, что больше половины начинающих на первом уроке с таким подходом пишут cout<<"hello", но не знают вообще ни одного оператора в Си.
Если застрянет на первой странице, то и будет думать так всю жизнь. Дойдёт дело до битовых сдвигов - узнает.
То есть как так ни одного? Чем инкремент в С отличается от такового в С++? +, -, %? В Си они какие-то особенные и совершенно отличаются от плюсовых синтаксисом и поведением?
0
Kuzia domovenok
1947 / 1800 / 137
Регистрация: 25.03.2012
Сообщений: 6,238
Записей в блоге: 1
11.01.2014, 02:58 #23
Цитата Сообщение от Бендерродригез Посмотреть сообщение
Чем инкремент в С отличается от такового в С++? +, -, %?
я говорил не про отличия Си от Си++. Я вообще старался говорить именно о плюсах, а не о Си (не суть, короче)
я говорил, что на первом уроке, новичёк не знает никаких операторов языка. И тут оказывается, что первый оператор, с которым он сталкивается это оператор << !
Причём не просто оператор (не самый банальный, кстати, из всех), а его перегруженная для потоков вывода версия.
В результате может сложиться не совсем правильное представление о том, что творится в языке.
0
Бендерродригез
Сгибальщик
42 / 42 / 3
Регистрация: 18.05.2013
Сообщений: 220
Завершенные тесты: 1
11.01.2014, 14:01 #24
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
я говорил не про отличия Си от Си++. Я вообще старался говорить именно о плюсах, а не о Си (не суть, короче)
я говорил, что на первом уроке, новичёк не знает никаких операторов языка. И тут оказывается, что первый оператор, с которым он сталкивается это оператор << !
Причём не просто оператор (не самый банальный, кстати, из всех), а его перегруженная для потоков вывода версия.
В результате может сложиться не совсем правильное представление о том, что творится в языке.
Да хоть %=. На начальном этапе это не больше чем "так надо". == тоже может много вопросов вызвать, однако сравнение и в Си такое же.
И это ни на йоту не пододвинуло к необходимости изучать С до плюсов, потому что это ничего не даст в плане каких-то углублённых пониманий в плане "как оно там работает".
0
11.01.2014, 14:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.01.2014, 14:01
Привет! Вот еще темы с ответами:

Code Blocks компилятор GCC: где найти учебник - C++
Скажите пожалуйста, где можно найти нормальный учебник для этого компилятора, а то большинство для Visual Stydio.

Работа с классами - C++
Привет всем!!!!! Пацаны помогите написать программу плиз, на завтро нужно!!!!! Тема: Классы Задание:Описати інтерфейс та реалізувати...

Работа с классами - C++
Задача:найти сумму всех отрицательных элементов матрицы и записать в вектор. For (i=0;i&lt;=N;i++) for (j=0;j&lt;=M;j++) if (a&lt;0) ...

Работа С Классами - C++
Привет Всем , Перехожу С делфи ))) Вот никак не пойму Вот Эту хрень в нутри класса Обрывок из струпа ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru