Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
1 / 1 / 0
Регистрация: 18.12.2013
Сообщений: 61
1

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

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

Author24 — интернет-сервис помощи студентам
хотел сначала научиться классам, но не знаю как - в ютубе только основа и без продолжения, а мне нужен учебник или что-то в этом роде, чтобы прям от начало и до конца можно было учить классы. Заранее благодарю!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.01.2014, 12:45
Ответы с готовыми решениями:

Посоветуйте учебник, где освещается работа с массивами, переменными и базами данных
Приветствую! Подскажите пожалуйста простые текстовые уроки или учебник по php, где рассказано...

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

Есть ли книга где хорошо описывается создание сокетов?
Открываю тему о TCP\UDP сокетах и всему что помогает связать андроид с внешним миром. Есть ли...

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

23
17 / 17 / 2
Регистрация: 03.05.2013
Сообщений: 114
04.01.2014, 12:46 2
Я читал Р.Лафоре "ООП в С++"
1
2443 / 1841 / 406
Регистрация: 15.12.2013
Сообщений: 8,238
04.01.2014, 14:25 3
Литература C++
1
New to C++
83 / 44 / 10
Регистрация: 14.01.2013
Сообщений: 258
04.01.2014, 14:55 4
Цитата Сообщение от azoller Посмотреть сообщение
Я читал Р.Лафоре "ООП в С++"
Да, очень хорошая книга.
1
13 / 11 / 3
Регистрация: 22.11.2013
Сообщений: 127
04.01.2014, 15:37 5
Я тоже сейчас читаю Р.Лафоре "ООП в С++". Хорошая книга, в конце каждой главы много задач для тренировок.
До этого читал Либерти "С++ за 21 день" - тоже неплохо все рассказано и описано, но там мало задач для тренировок и закрепления результата. А вообще я по себе заметил что лучче читать несколько книг, тогда остается меньше непонятных моментов.
1
1 / 1 / 0
Регистрация: 04.01.2014
Сообщений: 40
04.01.2014, 21:57 6
Согласен с Bino321, "Си++ за 21 день" отлично написаная книга, ничего лишнего и все хорошо разъясняется, и опять же соглашусь что следует обращаться не к одному источнику, второй источник для меня обычно гугл))
0
50 / 31 / 11
Регистрация: 10.06.2012
Сообщений: 395
04.01.2014, 23:29 7
Я учусь по Оверленд Брайэн С++ без страха. и начинаю заглядывать в Стивен Прата С++ лекции и упражнения.Абсолютно согласен ,что нужна не одна книга и еще нужно живое общение ,будь то форум ,чат,комната,нужен наставник это ускоряет обучение.
0
0 / 0 / 0
Регистрация: 04.01.2014
Сообщений: 5
05.01.2014, 00:00 8
Прата С. C++ Primer Plus, 6th Edition. Язык программирования C++. Лекции и упражнения (2011)
Читаю эту книгу. Вся ясно и понятно. + есть задачи для закрепления после каждого раздела
0
5231 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,113
Записей в блоге: 2
05.01.2014, 10:34 9
Цитата Сообщение от bekabot Посмотреть сообщение
Где взять учебник, в котором описывается работа с классами
говорят в интернетах есть, попробуй там посмотреть.
0
233 / 215 / 63
Регистрация: 01.09.2012
Сообщений: 2,103
05.01.2014, 11:09 10
Цитата Сообщение от Bino321 Посмотреть сообщение
"С++ за 21 день"
Не верю я в эти сказки. С++ невозможно изучить за 21 день. Почитайте Страуструпа "Дизайн и Эволюция С++", а для начала я бы посоветовал почитать Столярова "Введение в язык С++". Про Лафоре тоже ничего хорошего сказать не могу. Если Вы планируете серьезно заниматься программированием - то не советую его читать - ничему хорошему не научит. Для начала вообще желательно прочитать Кернигана, Ритчи "Программирование на С". Я только недавно прочитал, и понял, что я ничего не знал ни про Си, ни, тем более, про С++. Ну а если Вам это нужно ровно для того, чтобы сдать лабы в универе - Лафоре достаточно.

Добавлено через 3 минуты
{ссылка удалена} здесь все учебники, на любой вкус
0
Сгибальщик
42 / 42 / 4
Регистрация: 18.05.2013
Сообщений: 220
05.01.2014, 11:22 11
Цитата Сообщение от Ded_Vasilij Посмотреть сообщение
Для начала вообще желательно прочитать Кернигана, Ритчи "Программирование на С". Я только недавно прочитал, и понял, что я ничего не знал ни про Си, ни, тем более, про С++.
Многие программисты при разработке встроенных систем предпочитают использовать C, потому что он проще, чем C++, и больше подходит для разработки под аппаратное обеспечение. Действительно ли сложность C++ должна быть камнем преткновения для разработки встроенных систем?


Вовсе нет. Если вы придерживаетесь C-стиля программирования, то C++ окажется ничуть не сложнее C, причем он тоже подходит для разработки под аппаратное обеспечение. И уж точно C++ намного эффективнее, чем C. Я никогда не видел такой программы на C++, которую можно было бы так переписать на C, что у нее будет меньший объем кода, она будет производительней, она будет лучше сопровождаться — в общем, будет эффективнее. Не верю, что такое возможно.

Миф о том, что «C лучше C++», сбивает с толку очень многих начинающих программистов. Так, например, когда они сталкиваются с проблемами, они постоянно пытаются что-то выдумывать и применять совершенно нетривиальные вещи, а не использовать простые и мощные инструменты. В конце концов, у них получается очень сложный и запутанный код, который они в силу своих заблуждений принимают за эталон. Вся эта ситуация меня просто поражает. Если человек берется за что-то, а ему постоянно твердят, что это очень сложно и бесполезно, то у него в итоге ничего и не получится. Единственная вразумительная причина, из-за которой, как я знаю, используют чистый C, а не C++, — это ограниченные возможности конкретной платформы.

Однако студентов и вообще новичков в изучении C++ нельзя винить, потому что их ошибки часто зарождаются в процессе освоения университетского курса программирования. Однажды, лет десять назад, мне довелось вести его у первокурсников. Я заглянул в учебники — и просто поразился: вместо понятных и простых в использовании конструкций C++ в книгах в начале рассматривалась куча разных неочевидных мелочей языка C, а инструменты С++ преподносились как нечто очень сложное. Это не отпугивало только тех, кто хотел серьезно заниматься программированием.

Вот серьезно, скажите: неужели вектора из стандартной библиотеки сложнее массивов из C? Или, например, почему студентов приучают к функции qsort(), хотя sort() и эффективнее, и универсальнее? У C++ более строгая типизация, чем у C, за счет этого объектный код обрабатывается быстрее.

Еще в учебниках часто описывают C++ как провалившуюся попытку создания чистого объектно-ориентированного языка программирования. Такое утверждение как правило иллюстрируется целой простыней кода, в которой практически вся архитектура разбита на запутанную иерархию классов, унаследованных друг от друга. В итоге получается совершенно не характерная для C++ связанность. Такой код напоминает скорее программу на Java, и, что самое печальное, работает он обычно медленно.

Мне тоже не нравится C++ таким, каким его представляют авторы тех учебников. В ответ я написал свою книгу для студентов и самоучек — «Programming: Principles and Practice using C++». Для ее изучения опыт программирования не обязателен, однако она вызвала интерес и среди опытных разработчиков. Только если вам нужен просто обзор C++11, то эта книга будет довольно большой. Для этой цели я порекомендовал бы книгу «A Tour of C++». В ней описаны все ключевые моменты ISO C++ и стандартной библиотеки всего на 180 страницах. Стандарт C++11 полностью поддерживается компиляторами Clang и GCC, частично — Microsoft C++ и многими другими, правда, боюсь, на менее популярных платформах он может выполняться некорректно.

Интервью с Бьерном Страуструпом о языке C++

Взялся за C++, так изучи плюсы, а потом, если уж приспичит, и С.
0
233 / 215 / 63
Регистрация: 01.09.2012
Сообщений: 2,103
05.01.2014, 11:57 12
Бендерродригез, я хотел лишь сказать, что для более эффективного изучения С++, необходимо основательно понимать Си, т.к. в нем заложены основы. Понятно, что векторами пользоваться удобнее чем массивами, но, без понимания азов невозможно писать грамотный код. У того же Лафоре на человека вываливается огромный объем информации. А толку? Да, не спорю, учебник красивый, толстый, что-то в нем написано, но только, по-моему, благодаря таким учебникам, а еще методичкам, которые пишут наши "доценты с кандидатами" (не в обиду никому сказано, но авторов некоторых методичек, из тех, что мне попадались на глаза, я бы расстреливал на месте без суда и следствия как НАТО'вских диверсантов) получаются быдлокодеры, которые не могут две матрицы перемножить Перемножение матриц(квадратных) , но при этом с кучей понтов. так как-то.
0
Сгибальщик
42 / 42 / 4
Регистрация: 18.05.2013
Сообщений: 220
05.01.2014, 12:05 13
Цитата Сообщение от Ded_Vasilij Посмотреть сообщение
Бендерродригез, я хотел лишь сказать, что для более эффективного изучения С++, необходимо основательно понимать Си, т.к. в нем заложены основы. Понятно, что векторами пользоваться удобнее чем массивами, но, без понимания азов невозможно писать грамотный код. У того же Лафоре на человека вываливается огромный объем информации. А толку? Да, не спорю, учебник красивый, толстый, что-то в нем написано, но только, по-моему, благодаря таким учебникам, а еще методичкам, которые пишут наши "доценты с кандидатами" (не в обиду никому сказано, но авторов некоторых методичек, из тех, что мне попадались на глаза, я бы расстреливал на месте без суда и следствия как НАТО'вских шпионов) получаются быдлокодеры, которые не могут две матрицы перемножить Перемножение матриц(квадратных) , но при этом с кучей понтов. так как-то.
Какие такие основы? printf вместо cout? Плюсы - изначально надстройка над С. Что такого можно найти в С, чтобы ВНЕЗАПНО обнаружить это и в С++? Изучая плюсы не обязательно упираться в ООП же, процедурное тоже никуда не денется.
Это уже проблемы обучения, но ни как не самого языка.

Я с тем же успехом могу заявить, что надо сначала изучить ассемблер, ибо это - основы.
0
101 / 101 / 39
Регистрация: 17.04.2011
Сообщений: 554
05.01.2014, 14:34 14
Я бы посоветовал для изучения ООП Страуструпа
0
1 / 1 / 0
Регистрация: 04.01.2014
Сообщений: 40
05.01.2014, 16:00 15
Цитата Сообщение от Ded_Vasilij Посмотреть сообщение
Не верю я в эти сказки. С++ невозможно изучить за 21 день.
не имеется ввиду что с 0 за 21 день можно стать богом программирования на плюсах, но писать программки которые можно назвать полноценными ООП возможно)) и к тому же всетаки нужно обращаться ко всем возможным источникам, какими бы не были волшебными книги)
0
4 / 4 / 0
Регистрация: 20.08.2013
Сообщений: 24
06.01.2014, 00:49 16
О классах довольно подробно рассказывается в книге братьев Дейтелов - "Как программировать на C++".
0
4064 / 3318 / 924
Регистрация: 25.03.2012
Сообщений: 12,493
Записей в блоге: 1
06.01.2014, 01:10 17
Цитата Сообщение от Бендерродригез Посмотреть сообщение
Взялся за C++, так изучи плюсы, а потом, если уж приспичит, и С.
ИМХО Страуструпп не прав. Пусть он Hello World для какого-нибудь восьмибитного микроконтроллера напишет так, чтобы программа работала быстрее(не медленнее), чем на Си.

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

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

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

И да, повторюсь:
Что такого можно найти в С, чтобы ВНЕЗАПНО обнаружить это и в С++?
0
Эксперт С++
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
10.01.2014, 13:52 19
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Для понимания printf достаточно знать тему "функции в Си".
Для понимания функции printf помимо функций надо знать указатели, эллипсис, правила автоматического приведения типов, а ещё про то, что такое стек и что будет, если он переполнится или если программа попытается обратиться за его пределы. Это по аналогии с вашими рассуждениями по поводу cout. А если описывать cout по аналогии с вашим "Для понимания printf достаточно знать тему "функции в Си"" - то для понимания cout достаточно знать, что чтобы вывести что-то на экран, надо написать std::cout << что-то;
1
4064 / 3318 / 924
Регистрация: 25.03.2012
Сообщений: 12,493
Записей в блоге: 1
10.01.2014, 17:28 20
silent_1991, как минимум с таким подходом новичёк будет думать, что << это оператор вывода. Я готов спорить, что больше половины начинающих на первом уроке с таким подходом пишут cout<<"hello", но не знают вообще ни одного оператора в Си.
Кстати аналогия с printf и знанием о стеке неудачна. Боюсь ошибиться, но вроде тема стека не является частью языка Си или С++. (Т.е. в учебниках, документации, хелпе, стандартах её не упоминают и теоретически реализация принтф может быть другой. Просто оговаривается, что передаваемые параметры должны соответствовать форматной строке и всё)
0
10.01.2014, 17:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.01.2014, 17:28
Помогаю со студенческими работами здесь

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

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

Подскажите учебник по С# в котором после каждой главы есть упражнения
наподобие учебника &quot;Программирование на языке си&quot; Кочана.

Можете подсказать хорошие книги, статьи где очень подробно описывается как работать на vb.net с внешними файлами разных расширений?
Читал много самоучителей по VB.net, везде одно и то же, но мало расписано про работу с внешними...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru