|
C++ и ООП для микроконтроллеров AVR |
|
|
|
 |
Ответов
|
May 19 2014, 01:22
|
Знающий
   
Группа: Участник
Сообщений: 837
Регистрация: 8-02-07
Пользователь №: 25 163

|
Во-первых, ООП вы напрасно определяете через термины C++. Классическое определение: ООП - это объекты обменивающиеся сообщениями. Цитата из вики: Object-oriented programming (OOP) is a programming paradigm that represents the concept of "objects" that have data fields (attributes that describe the object) and associated procedures known as methods. Objects, which are usually instances of classes, are used to interact with one another to design applications and computer programs. То, что предлагает C++ изрядно запутывает программистов. Я бы посоветовал сначала хорошо изучить Си, а потом уже потихоньку залезать в С++, если так хочется.
ТС рекомендую не углубляться в архитектуру наследования. Гораздо проще сделать так: 1. Выделить сущности в отдельные модули. Пускай датчик будет в отдельном модуле. 2. Если сущность бывает в единственном экземпляре, то можно оставить как есть - модуль с экспортируемыми функциями. Если вы большой любитель классов, то можно обернуть в синглтон. 3. Если сущность может существовать в нескольких экземплярах, то оборачивайте в класс. Например, датчиков может быть много - делаем класс датчиков. 4. Не заморачивайтесь с наследованием. Сделайте разные датчики копипастой. Когда всё заработает, одинаковый код можно вынести в базовый класс. 5. Чтобы единообразно обрабатывать разные датчики, можно сделать для них общий интерфейс. Когда у вас все датчики будут написаны, общий интерфейс написать будет тривиально. 6. Без динамической памяти писать будет больно. Поля в классах нужно инициализировать руками. Инкапсуляция работает хреново потому как приватные поля светятся в заголовках модулей. Подумайте ещё раз, надо ли вам это, потому что Си гораздо гуманее, чем С++.
|
|
|
|
Сообщений в этой теме
n_bogoyavlensky C++ и ООП для микроконтроллеров AVR May 10 2009, 06:21 Tcom Нравиться пишите на С++ для AVR. May 10 2009, 07:06 tAmega Смотря какой AVR, если 8 битные модели, то ООП это... May 10 2009, 07:11 Rst7 Цитатаи программировать на нем конечно можно, но п... May 10 2009, 07:44 tAmega Видел код на C++ для AVR, нашел единственное объя... May 10 2009, 09:01 Rst7 Цитатанашел единственное объяснение, для чего там ... May 10 2009, 09:10 DpInRock Программирование в ООП обычно требует динамическог... May 10 2009, 10:56 SasaVitebsk Цитата(DpInRock @ May 10 2009, 13:56) Про... May 11 2009, 21:38 Rst7 ЦитатаПрограммирование в ООП обычно требует динами... May 10 2009, 11:13 kurtis ЦитатаНикакого отношения динамическое выделение па... May 10 2009, 11:29 _Pasha Цитата(kurtis @ May 10 2009, 14:29) С++ ... May 10 2009, 12:29 Rst7 ЦитатаДык если взять STL
STL - это всего лишь удо... May 10 2009, 11:46 researcher Об ООП хорошо думаю , но в AVR ООП тесно.
Какая не... May 10 2009, 12:45 DpInRock ОП имеет смысл когда есть что наследовать и есть к... May 10 2009, 13:07 haker_fox Цитата(DpInRock @ May 10 2009, 22:07) ОП ... May 11 2009, 00:04 demiurg_spb Цитата(DpInRock @ May 10 2009, 17:07) А т... May 11 2009, 11:13 Rst7 ЦитатаВообще, как Вы можете говорить после этого о... May 11 2009, 07:23 dxp Мущщины! Вы бы сначала определились в терминах... May 11 2009, 09:29 Herz Цитата(dxp @ May 11 2009, 11:29) Мущщины... May 11 2009, 10:47 n_bogoyavlensky Цитата(dxp @ May 11 2009, 13:29) Мущщины... May 12 2009, 18:24  _Pasha Цитата(n_bogoyavlensky @ May 12 2009, 21... May 12 2009, 18:34   777777 Цитата(_Pasha @ May 12 2009, 22:34) Приех... May 13 2009, 04:00 Rst7 Цитатаклассы С++ как таковые - не ООП;
Как это? К... May 11 2009, 09:35 Непомнящий Евгений Цитата(Rst7 @ May 11 2009, 13:35) Как это... May 11 2009, 10:35 dxp Цитата(Rst7 @ May 11 2009, 16:35) Как это... May 11 2009, 11:12  megajohn Цитата(dxp @ May 11 2009, 19:22) ... кото... May 19 2014, 05:02   msalov Цитата(megajohn @ May 19 2014, 12:12) и п... May 19 2014, 05:12   Сергей Борщ Цитата(megajohn @ May 19 2014, 12:12) и п... May 19 2014, 05:14 Rst7 ЦитатаООП - это программирование, когда программа ... May 11 2009, 10:57 Rst7 ЦитатаКласс - это тип, определяемый пользователем.... May 11 2009, 11:52 dxp Цитата(Rst7 @ May 11 2009, 18:52) Я утвер... May 11 2009, 13:58 Rst7 ЦитатаОбъектно-ориентированные программы можно пис... May 11 2009, 14:46 dxp Цитата(Rst7 @ May 11 2009, 21:46) И вообщ... May 12 2009, 04:03  VladimirYU Цитата(dxp @ May 12 2009, 08:03) За ООП, ... May 12 2009, 06:54   dxp Цитата(VladimirYU @ May 12 2009, 13:54) А... May 12 2009, 11:31    VladimirYU Цитата(dxp @ May 12 2009, 15:31) Возможно... May 12 2009, 11:45     dxp Цитата(VladimirYU @ May 12 2009, 18:45) Я... May 12 2009, 13:40      singlskv Цитата(dxp @ May 12 2009, 17:40) Хм, инте... May 12 2009, 18:53       dxp Цитата(singlskv @ May 13 2009, 01:53) У м... May 13 2009, 03:24        singlskv Цитата(dxp @ May 13 2009, 07:24) SendMess... May 13 2009, 04:32         dxp Цитата(singlskv @ May 13 2009, 10:32) Опр... May 13 2009, 05:11          singlskv Цитата(dxp @ May 13 2009, 09:11) Ну да, в... May 13 2009, 05:39           dxp Цитата(singlskv @ May 13 2009, 12:39) А ч... May 13 2009, 06:26            singlskv Цитата(dxp @ May 13 2009, 10:26) Еще забы... May 13 2009, 15:41 Rst7 Цитатав условиях корпоративной разработки проектов... May 12 2009, 07:00 yanvasiij Люди, поднял тему в связи с глубокой заинтересован... May 19 2014, 00:34 yanvasiij Цитата(andrewlekar @ May 19 2014, 11:32) ... May 19 2014, 02:23 doom13 Цитата(yanvasiij @ May 19 2014, 09:33) А ... May 19 2014, 03:12 kolobok0 Цитата(yanvasiij @ May 19 2014, 10:33) Сп... May 19 2014, 14:23 andrewlekar В scmRTOS посмотрите как обработчики сделаны. У ме... May 19 2014, 02:50 yanvasiij Цитата(andrewlekar @ May 19 2014, 13:00) ... May 19 2014, 04:05 doom13 Цитата(yanvasiij @ May 19 2014, 11:15) Не... May 19 2014, 04:58  Сергей Борщ Цитата(doom13 @ May 19 2014, 12:08) Ваши ... May 19 2014, 05:09   doom13 Цитата(Сергей Борщ @ May 19 2014, 12:19) ... May 19 2014, 06:03    Сергей Борщ Цитата(doom13 @ May 19 2014, 13:13) В так... May 19 2014, 07:48     doom13 Цитата(Сергей Борщ @ May 19 2014, 14:58) ... May 19 2014, 08:36      Сергей Борщ Цитата(doom13 @ May 19 2014, 15:46) Допус... May 19 2014, 09:01       doom13 Цитата(Сергей Борщ @ May 19 2014, 16:11) ... May 19 2014, 09:17        megajohn Цитата(doom13 @ May 19 2014, 17:27) Все п... May 19 2014, 09:25        Сергей Борщ Цитата(doom13 @ May 19 2014, 16:27) Все п... May 19 2014, 11:08 andrewlekar Цитатаможно ли объявлять объект - не создавать его... May 19 2014, 04:25 A. Fig Lee На маленьких задачах преимущества C++ не очевидны.... May 19 2014, 17:19 yanvasiij megajohn doom13 andrewlekar Сергей Борщ msalov Спа... May 20 2014, 00:22 yanvasiij - May 20 2014, 00:22 juvf смешали всё.
Ну во первых в avr-gcc от winavr не... May 21 2014, 23:22 andrewlekar В C99 тоже можно переменную непосредственно перед ... May 21 2014, 23:45 juvf ЦитатаСсылки полностью перекрываются указателямине... May 21 2014, 23:52
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|