реклама на сайте
подробности

 
 
> Вопрос по С++
_Артём_
сообщение Dec 13 2011, 17:38
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Как бы правильно отработать такую ситуацию на С++:
Есть плата, на которую может устанавливаться два-три близких по системе команд GSM-модема (большинство нужных команд полностью идентичны).
Думаю делать так:
Создать класс содержащий все нужные функции (различающиеся команды объявить как виртуальные), от него создать нужное количество наследников с переопределёнными функциями и .
Тип модема может задаваьтся конфигурацией (байт в еепром) или определятся запросом версии AT-командой (предпочтительней).
А вот как дальше делать?
Как лучше объявить в программе переменную-наследника?
Компилятор IAR AVR.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Danis
сообщение Dec 14 2011, 08:33
Сообщение #2


Twilight Zone
***

Группа: Свой
Сообщений: 454
Регистрация: 17-02-09
Из: Челябинск
Пользователь №: 44 990



Цитата(_Артём_ @ Dec 13 2011, 20:38) *
Создать класс содержащий все нужные функции (различающиеся команды объявить как виртуальные), от него создать нужное количество наследников с переопределёнными функциями и .
......


ИМХО, тут можно конечно сделать, но из за 2-x, 3-x подобных устройств использовать С++ со своими возможностями ООП (виртуальные функции и полиморфизм) Вам больше навредит, чем поможет. Сильно не рационально. С++ надо использовать только там, где это действительно необходимо и приемлемо, а не просто ради того чтоб использовать. Вот если бы подобных устройств было десятки, еще можно говорить….


--------------------
Magic Friend
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Dec 14 2011, 09:35
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(Danis @ Dec 14 2011, 10:33) *
ИМХО, тут можно конечно сделать, но из за 2-x, 3-x подобных устройств использовать С++ со своими возможностями ООП (виртуальные функции и полиморфизм) Вам больше навредит, чем поможет. Сильно не рационально. С++ надо использовать только там, где это действительно необходимо и приемлемо, а не просто ради того чтоб использовать. Вот если бы подобных устройств было десятки, еще можно говорить….

В смысле?
Что значит "десятки устройств"?
Десятки типов устройств?
Или экземпляров?

Типов модулей может быть 2-3-..5..10(это точно перебор, да и 5 - перебор: 2-3, а дальше - много(слишком))
А модулей - сотни(чем больше тем лучше) каждого типа...

У как по-Вашему лучше сделать?

Цитата(Danis @ Dec 14 2011, 10:33) *
С++ надо использовать только там, где это действительно необходимо и приемлемо, а не просто ради того чтоб использовать


честный ответ - как глоток свежего воздуха...©
А где ж его использовать?(С++, в смысле)...?
Go to the top of the page
 
+Quote Post
kolobok0
сообщение Dec 14 2011, 10:57
Сообщение #4


практикующий тех. волшебник
*****

Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417



Цитата(_Артём_ @ Dec 14 2011, 13:35) *
..А где ж его использовать?(С++, в смысле)...?


ну уж точно не в МК sm.gif покрайней мере пока не стоит в полной мере. а вот ООА необходимо юзать всегда. даже когда вы пишите на азме. при этом сама механизация того или иного функционала - уже вторично.

(круглый)
Go to the top of the page
 
+Quote Post
dxp
сообщение Dec 14 2011, 11:59
Сообщение #5


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(kolobok0 @ Dec 14 2011, 17:57) *
ну уж точно не в МК sm.gif покрайней мере пока не стоит в полной мере.

Поясните, пожалуйста, какие именно аспекты С++ делают его нерекомендуемым для использования с МК?


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
kolobok0
сообщение Dec 16 2011, 08:23
Сообщение #6


практикующий тех. волшебник
*****

Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417



Цитата(dxp @ Dec 14 2011, 15:59) *
...какие именно аспекты С++ делают его нерекомендуемым для использования с МК?


для этого надо сначала понять, какие плюсы Вы видите в его использовании?

только без взгляда под углом, что это можно сделать. Сделать можно ВСЁ...
а вот плюсы...с этим уже поконкретней.

(круглый)
ЗЫ
Всегда надо идти от задачи. Лично мне не известны такие задачи где требуется си плас плас под МК. За исключением не анжинерных задач - типа попилить бабло. Но это мы не бум рассматривать надеюсь...
Go to the top of the page
 
+Quote Post
dxp
сообщение Dec 16 2011, 19:48
Сообщение #7


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(kolobok0 @ Dec 16 2011, 15:23) *
для этого надо сначала понять, какие плюсы Вы видите в его использовании?

Как обычно - облегчение как проектирования софта, так и написания кода. Активно использую все средства, кроме откровенно тяжёлых, оверхедных. А ваши рассуждения можно легко распространить и на С - вон есть асм, зачем ещё какие-то Цэ. Кстати, такие холивары (асм vs C) весьма громко гремели лет 10 назад.


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
Danis
сообщение Dec 16 2011, 20:55
Сообщение #8


Twilight Zone
***

Группа: Свой
Сообщений: 454
Регистрация: 17-02-09
Из: Челябинск
Пользователь №: 44 990



Цитата(dxp @ Dec 16 2011, 22:48) *
А ваши рассуждения можно легко распространить и на С - вон есть асм, зачем ещё какие-то Цэ. Кстати, такие холивары (асм vs C) весьма громко гремели лет 10 назад.


Согласен. Но думаю ТС тогда не нужно было вести речь о GSM модемах, а просто задать вопрос по ООП на С++: ”Как лучше объявить в программе переменную-наследника?” Тут все таки, ИМХО для ТС интересно обучение, нежели необходимость применения.
Рекомендую почитать Шилдт Г. C++. Наследование, полиморфизм, инкапсуляция.


--------------------
Magic Friend
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Dec 18 2011, 02:05
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(Danis @ Dec 16 2011, 22:55) *
Но думаю ТС тогда не нужно было вести речь о GSM модемах, а просто задать вопрос по ООП на С++: ”Как лучше объявить в программе переменную-наследника?”


Да, можно было спросить не о модемах, а о применении наследования, полиморфизма, инкапсуляции для IAR AVR. Но говорить о реальном примере как-то проще и понятнее.

Цитата(Danis @ Dec 16 2011, 22:55) *
Тут все таки, ИМХО для ТС интересно обучение, нежели необходимость применения.


Есть такая необходимость применения, которая может быть реализована средствами Си++.
И да, интересно не приведёт ли применение наследования, полиморфизма, инкапсуляции к нежелательным последствиям (как то: глюки компилятора, возрастанию размера кода, падению быстродействия и тп).

Цитата(Danis @ Dec 16 2011, 22:55) *
Рекомендую почитать Шилдт Г. C++. Наследование, полиморфизм, инкапсуляция.


ИМХО, слишком абстрактно (даже для Windows, не говоря о МК).


Цитата(kolobok0 @ Dec 17 2011, 23:46) *
проектирование - это ООА.


Это чё?(как расшифровываетсяв смысле?)


Цитата(kolobok0 @ Dec 17 2011, 23:46) *
Минусов, на мой взгляд, гораздо больше.


Об чём и речь.Какие минусы?

Цитата(kolobok0 @ Dec 17 2011, 23:46) *
И МК (чиссо мой взгляд) силён не тем, что можно и на нём "как у больших". А немного другим.


Чем?

Цитата(kolobok0 @ Dec 17 2011, 23:46) *
холивар не бум. ну его в баню.


Это - да. Согласен. И не в баню, а ещё подальше.


Цитата(kolobok0 @ Dec 17 2011, 23:46) *
про азм и си под МК... не знаю, что даже ответить. чисто по мне - просче и быстрее на азме(повторюсь - для МК). но тут кому как... у азма всегда был и останется один большой плюс, на мой взгляд:
Что написал - сам дурак(С)

Как вам удаётся на асм быстреё чем на Си?
Какие задачи?
Go to the top of the page
 
+Quote Post
kolobok0
сообщение Dec 19 2011, 03:00
Сообщение #10


практикующий тех. волшебник
*****

Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417



Цитата(_Артём_ @ Dec 18 2011, 06:05) *
...Это чё?(как расшифровываетсяв смысле?).....


я лучше дальше помолчу господа sm.gif))


Цитата(dxp @ Dec 18 2011, 09:33) *
Не знаю, что это такое. Для меня проектирование - это создание "каркаса" программы, определение основных типов, их интерфейсов и взаимодействия....


весело с вами господа! вот ратуете за юзанье ОО инструментария, а об основах элементарных не в курсе.

рекомендую альма матер учения по ОО:

Гради Буч
Объектно-Ориентированный Анализ и Проектирование

объясняю.
термины
ООА = Объектно Ориентированный Анализ
ООП = Объектно Ориентированное Проектирование

(круглый)
ЗЫ
а то как то расуждать-рассуждаете, а элементарных вещей не знаете.
ЗЫ ЗЫ
плюсы данного подхода апсолютно не в типизации и иже. И (о ужас!!!) даже не в си плас плас sm.gif)) Точнее скажем так - язык записи логики работы - вторичен.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- _Артём_   Вопрос по С++   Dec 13 2011, 17:38
- - neiver   Направление мысли правильное. Фабрика вам в помощь...   Dec 13 2011, 18:38
|- - _Артём_   Цитата(neiver @ Dec 13 2011, 20:38) Если ...   Dec 13 2011, 18:49
|- - neiver   Цитата(_Артём_ @ Dec 13 2011, 22:49) Полу...   Dec 13 2011, 19:12
|- - _Артём_   Цитата(neiver @ Dec 13 2011, 21:12) Нет. ...   Dec 13 2011, 20:07
|- - Сергей Борщ   QUOTE (_Артём_ @ Dec 13 2011, 22:07) Что-...   Dec 13 2011, 21:06
|- - _Артём_   Цитата(Сергей Борщ @ Dec 13 2011, 23:06) ...   Dec 13 2011, 21:37
|- - neiver   Цитата(Danis @ Dec 14 2011, 12:33) ИМХО, ...   Dec 14 2011, 08:51
|||- - ReAl   Цитата(kolobok0 @ Dec 16 2011, 10:23) Лич...   Dec 16 2011, 09:57
||||- - kolobok0   Цитата(ReAl @ Dec 16 2011, 13:57) ...текс...   Dec 17 2011, 21:46
||||- - dxp   QUOTE (kolobok0 @ Dec 18 2011, 04:46) про...   Dec 18 2011, 05:33
|||- - haker_fox   QUOTE (kolobok0 @ Dec 19 2011, 11:00) вес...   Dec 19 2011, 05:34
|||- - dxp   QUOTE (kolobok0 @ Dec 19 2011, 10:00) я л...   Dec 19 2011, 06:05
|||- - kolobok0   Цитата(dxp @ Dec 19 2011, 10:05) ..спасиб...   Dec 19 2011, 09:04
|||- - sonycman   Цитата(kolobok0 @ Dec 19 2011, 13:04) Есл...   Dec 19 2011, 10:12
||- - sasamy   Цитата(dxp @ Dec 14 2011, 15:59) Поясните...   Dec 20 2011, 08:35
||- - dxp   QUOTE (sasamy @ Dec 20 2011, 15:35) Самый...   Dec 20 2011, 09:24
||- - sasamy   Цитата(dxp @ Dec 20 2011, 13:24) Сложный ...   Dec 20 2011, 09:50
||- - demiurg_spb   Я скажу может крамольную вещь и даже кому-то будет...   Dec 20 2011, 10:09
|||- - sasamy   Цитата(demiurg_spb @ Dec 20 2011, 14:09) ...   Dec 20 2011, 10:28
|||- - demiurg_spb   При чём здесь это? Как часто принимаются новые ста...   Dec 20 2011, 10:33
|||- - XVR   Цитата(sasamy @ Dec 20 2011, 14:28) Специ...   Dec 20 2011, 10:44
|||- - sasamy   Цитата(XVR @ Dec 20 2011, 14:44) Не испол...   Dec 21 2011, 08:01
|||- - Сергей Борщ   QUOTE (sasamy @ Dec 21 2011, 10:01) Если ...   Dec 21 2011, 08:12
||||- - sasamy   Цитата(Сергей Борщ @ Dec 21 2011, 12:12) ...   Dec 21 2011, 08:40
||||- - Сергей Борщ   QUOTE (sasamy @ Dec 21 2011, 10:40) хотя ...   Dec 21 2011, 09:57
|||||- - sasamy   Цитата(Сергей Борщ @ Dec 21 2011, 13:57) ...   Dec 21 2011, 11:35
|||||- - XVR   Цитата(sasamy @ Dec 21 2011, 15:35) Идея ...   Dec 21 2011, 11:42
||||||- - sasamy   Цитата(XVR @ Dec 21 2011, 15:42) Писали н...   Dec 21 2011, 19:47
||||||- - ReAl   Цитата(sasamy @ Dec 21 2011, 21:47) Тут к...   Dec 21 2011, 20:09
||||||- - sasamy   Цитата(ReAl @ Dec 22 2011, 00:09) могу то...   Dec 22 2011, 08:30
||||||- - ReAl   Цитата(sasamy @ Dec 22 2011, 10:30) Чего ...   Dec 22 2011, 10:00
||||||- - sasamy   Цитата(ReAl @ Dec 22 2011, 14:00) Это мы ...   Dec 22 2011, 11:20
||||||- - Сергей Борщ   QUOTE (sasamy @ Dec 22 2011, 13:20) Скаже...   Dec 22 2011, 11:39
||||||- - sasamy   Цитата(Сергей Борщ @ Dec 22 2011, 15:39) ...   Dec 22 2011, 11:42
||||||- - dxp   QUOTE Потрудитесь книжки почитать http://www.progr...   Dec 22 2011, 16:19
||||||- - Прохожий   Цитата(dxp @ Dec 22 2011, 20:19) .... ПМС...   Dec 22 2011, 17:53
||||||- - dxp   QUOTE (Прохожий @ Dec 23 2011, 00:53) ПМС...   Dec 23 2011, 05:55
||||||- - Прохожий   Цитата(dxp @ Dec 23 2011, 09:55) Это вряд...   Dec 23 2011, 18:42
||||||- - dxp   QUOTE (Прохожий @ Dec 24 2011, 01:42) Вот...   Dec 24 2011, 06:44
||||||- - sasamy   Цитата(dxp @ Dec 24 2011, 10:44) Если же ...   Dec 24 2011, 08:06
||||||- - Прохожий   Цитата(dxp @ Dec 24 2011, 10:44) Речь идё...   Dec 24 2011, 17:55
||||||- - dxp   QUOTE (Прохожий @ Dec 25 2011, 00:55) Опя...   Dec 25 2011, 04:58
|||||- - haker_fox   QUOTE (sasamy @ Dec 21 2011, 19:35) Абсол...   Dec 21 2011, 11:52
||||- - XVR   Цитата(sasamy @ Dec 21 2011, 12:40) Кстат...   Dec 21 2011, 11:10
||||- - kolobok0   Предлагаю свернуть тему. А то НГ на носу. И страни...   Dec 21 2011, 11:42
|||- - haker_fox   QUOTE (sasamy @ Dec 21 2011, 16:01) http:...   Dec 21 2011, 09:12
|||- - dxp   QUOTE (sasamy @ Dec 21 2011, 15:01) Если ...   Dec 21 2011, 10:07
|||- - ReAl   Цитата(sasamy @ Dec 21 2011, 10:01) По су...   Dec 21 2011, 12:12
|||- - dxp   QUOTE (ReAl @ Dec 21 2011, 19:12) И тогда...   Dec 21 2011, 13:23
||||- - Genadi Zawidowski   Цитата(dxp @ Dec 21 2011, 17:23) Это был ...   Dec 22 2011, 12:50
|||- - sasamy   Цитата(ReAl @ Dec 21 2011, 16:12) А дальш...   Dec 21 2011, 17:10
||- - Сергей Борщ   QUOTE (sasamy @ Dec 20 2011, 11:50) Приме...   Dec 20 2011, 10:59
|||- - ViKo   Цитата(Сергей Борщ @ Dec 20 2011, 13:59) ...   Dec 20 2011, 11:13
||- - dxp   QUOTE (sasamy @ Dec 20 2011, 16:50) Это о...   Dec 20 2011, 11:14
|- - Danis   Цитата(_Артём_ @ Dec 14 2011, 12:35) В см...   Dec 16 2011, 09:28
- - Iptash   С++ я бы сказал совершенно другой, отличный от С я...   Dec 18 2011, 13:24
|- - dxp   QUOTE (Iptash @ Dec 18 2011, 20:24) С++ я...   Dec 18 2011, 16:58
|- - Iptash   Цитата(dxp @ Dec 18 2011, 20:58) ... Наве...   Dec 18 2011, 17:12
- - haker_fox   Господа, может быть не будем заниматься поддержани...   Dec 20 2011, 09:58
- - ViKo   Я не знаю языка C++, хотя и прочитал Г. Шилдта до ...   Dec 20 2011, 10:42
- - Сергей Борщ   QUOTE (ViKo @ Dec 20 2011, 13:13) А я вот...   Dec 20 2011, 12:43
|- - ViKo   Цитата(Сергей Борщ @ Dec 20 2011, 15:43) ...   Dec 20 2011, 12:50
|- - haker_fox   QUOTE (Сергей Борщ @ Dec 20 2011, 20:43) ...   Dec 20 2011, 13:54
- - Flexz   Цитата(sasamy @ Dec 21 2011, 12:01) По су...   Dec 21 2011, 08:34
- - Flexz   Видимо, он имел ввиду единый, общий для разных ком...   Dec 21 2011, 09:36
- - ReAl   1) На ассемблере+фортране в своё время было написа...   Dec 21 2011, 19:38
- - toweroff   sasamy, вот у меня в соседней ветке конкретный во...   Dec 21 2011, 20:11
- - neiver   Макросы в голом Си настолько-же опасны как и в С++...   Dec 22 2011, 11:57
|- - sasamy   Цитата(neiver @ Dec 22 2011, 15:57) Эти в...   Dec 22 2011, 17:29
|- - XVR   Цитата(sasamy @ Dec 22 2011, 21:29) Эти в...   Dec 23 2011, 07:28
|- - sasamy   Цитата(XVR @ Dec 23 2011, 11:28) Весь это...   Dec 23 2011, 09:53
|- - neiver   Цитата(sasamy @ Dec 23 2011, 13:53) да вы...   Dec 23 2011, 10:45
|- - sasamy   Цитата(neiver @ Dec 23 2011, 14:45) Есть ...   Dec 23 2011, 11:10
|- - neiver   Цитата(sasamy @ Dec 23 2011, 15:10) А теп...   Dec 23 2011, 11:26
|- - XVR   Цитата(sasamy @ Dec 23 2011, 15:10) А теп...   Dec 23 2011, 14:12
|- - sasamy   Цитата(XVR @ Dec 23 2011, 18:12) Это точн...   Dec 23 2011, 16:26
|- - XVR   Цитата(sasamy @ Dec 23 2011, 20:26) http:...   Dec 23 2011, 18:26
|- - sasamy   Цитата(XVR @ Dec 23 2011, 22:26) Это вы к...   Dec 23 2011, 18:34
|- - XVR   Цитата(sasamy @ Dec 23 2011, 22:34) Там о...   Dec 24 2011, 16:52
|- - sasamy   Цитата(XVR @ Dec 24 2011, 20:52) проявляя...   Dec 24 2011, 17:06
||- - XVR   Цитата(sasamy @ Dec 24 2011, 21:06) Это в...   Dec 24 2011, 17:12
|- - sasamy   Цитата(XVR @ Dec 24 2011, 20:52) Не надо,...   Dec 24 2011, 18:17
|- - neiver   Цитата(sasamy @ Dec 24 2011, 22:17) А о ч...   Dec 24 2011, 20:31
|- - sasamy   Цитата(neiver @ Dec 25 2011, 00:31) Очень...   Dec 24 2011, 21:20
|- - neiver   Цитата(sasamy @ Dec 25 2011, 01:20) Для в...   Dec 25 2011, 07:43
- - ViKo   А за сайтик http://www.programmer-lib.ru - спасибо...   Dec 22 2011, 17:11
- - Сергей Борщ   QUOTE (sasamy @ Dec 22 2011, 13:42) Потру...   Dec 23 2011, 08:55
- - Flexz   Цитата(sasamy @ Dec 23 2011, 22:34) ...мо...   Dec 24 2011, 11:32
|- - sasamy   Цитата(Flexz @ Dec 24 2011, 15:32) Осталь...   Dec 24 2011, 12:09
- - Flexz   Цитата(sasamy @ Dec 24 2011, 16:09) Ищите...   Dec 24 2011, 15:12
2 страниц V   1 2 >


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th June 2025 - 19:38
Рейтинг@Mail.ru


Страница сгенерированна за 0.01694 секунд с 7
ELECTRONIX ©2004-2016