|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.09.2013, 09:45 | #1 | |
Пользователь
Регистрация: 31.01.2011
Сообщений: 42
|
Имитация интерфейсов в С++
Доброго времени суток! Прошу помочь разобраться в следующей ситуации. Требуется реализовать иерархию классов, имеющих определённый интерфейс. Так как в плюсах такого понятия нет, реализацию интерфейса заменил наследованием от абстрактного класса (I). Код, в котором воспроизводится проблема, приведён ниже.
Код:
Цитата:
Последний раз редактировалось Stilet; 25.09.2013 в 09:50. |
|
25.09.2013, 11:05 | #2 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Я причасал твой говнокод и выпилил из него все лишнее.
Вот что получилось: http://rise4fun.com/Vcpp/dfB Код:
http://rise4fun.com/Vcpp/v6pf Код:
http://rise4fun.com/Vcpp/iy3 Код:
Последний раз редактировалось _Bers; 25.09.2013 в 11:08. |
25.09.2013, 11:45 | #3 | |
Пользователь
Регистрация: 31.01.2011
Сообщений: 42
|
Цитата:
|
|
25.09.2013, 12:36 | #4 | |
Санитар
Старожил
Регистрация: 04.10.2008
Сообщений: 2,577
|
Я ниче не причесывал и не особо всматривался в код, но вроде бы ты интерфейс наследуешь с разными специализациями шаблона, а поэтому получается несколько чисто виртуальных функций в B3 (он остается абстрактным).
Есть версия, что если в B3 из первого поста добавить что-то вроде: Код:
А вот, проверил: http://rise4fun.com/Vcpp/hYR Вцелом, это говнокод. Каждый раз, когда я вижу такие выкрутасы, хочу узнать "зачем? чего ты добиваешься этим кодом?". Цитата:
Последний раз редактировалось rrrFer; 25.09.2013 в 12:55. |
|
25.09.2013, 13:03 | #5 |
Пользователь
Регистрация: 31.01.2011
Сообщений: 42
|
|
25.09.2013, 13:53 | #6 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Ну потому что не нужно плодить ненужные сущности.
Здесь - выдержка кода, которая иллюстрирует проблему. По факту - хз, что делает ТС, может быть все эти шаблоно-коды и нужны. Но в вашем случае, задача была известна, и дополнительные сущности точно не были нужны. Это нормальное течение развития) Я предлагаю вам задуматься: профессиональный программист должен приносить компании прибыль. То бишь, код, который он пишет должен приносить прибыль. Подумайте о том, каким должен быть код, что бы он приносил компании прибыль. |
25.09.2013, 15:12 | #7 |
Пользователь
Регистрация: 31.01.2011
Сообщений: 42
|
|
25.09.2013, 15:28 | #8 |
Старожил
Регистрация: 19.08.2009
Сообщений: 2,119
|
Каждый раз, когда я вижу такие выкрутасы
А вы почему со мной не соглашаетесь, у вас что, импотенция? (c) ACE Valery
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Подключение интерфейсов X2 | cashobmen | Фриланс | 1 | 26.01.2012 16:20 |
Объясните смысл интерфейсов | MyLastHit | C# (си шарп) | 8 | 22.11.2011 18:43 |
Использование интерфейсов .NET | dis | Общие вопросы .NET | 4 | 25.09.2010 19:54 |