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

Стоит ли прятать интерфейсные методы внутри класса? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Написать диспетчер задач http://www.cyberforum.ru/cpp/thread1572279.html
Доброго времени суток форумчане. Помогите с чего начать или может есть ресурс с похожей темой. Дали задание (курсовой) по системному программированию-Разработка диспетчера задач для операционной...
C++ OpenCV 300 не показыват видео с камеры столкнулся со следующей проблемой, скачал opencv300 (VS12) подключил все, PATH не забыл, все заработало, картинки открывает, различные преобразования - без проблем. но как только я пытаюсь... http://www.cyberforum.ru/cpp/thread1571971.html
C++ Вывод и управление пикселем чрез ассемблер
ЗДравствуйте, дали задание переделать из этого кода вывод пикселя и реагирование этого пикселЯ на клавиши-стрелки. Помогите на сколько можно. #include <stdio.h> #include <conio.h> #include...
C++ Launcher как в World of tanks
Привет всем!) Нужна ваша помощь, хочу написать лончер для игры, как в World of tanks, который будет скачивать клиент игры, и при каждом запуске сверять файлы клиента с файлами сервера.
C++ Изменение настроек печати в Word'e http://www.cyberforum.ru/cpp/thread1567811.html
Привет. Подскажите, как изменить настройки печати, к которым переходим так: Файл->Печать->Настройка(в Word'е) Интересует установка полей. Visual Studio 2013 Добавлено через 8 минут Вообще не...
C++ Написание бота для видеочата хай начну с того что я ищу чела кто бы помог уже месяца 3 и что я ничего не знаю в программировании ,но пытался изучить прогу на codeacademy (мне 1 чел сказал что для этого нужен python(у него своя... подробнее

Показать сообщение отдельно
rikimaru2013
C++ Game Dev
2439 / 1133 / 240
Регистрация: 30.11.2013
Сообщений: 3,690

Стоит ли прятать интерфейсные методы внутри класса? - C++

06.11.2015, 16:20. Просмотров 310. Ответов 2
Метки (Все метки)

1) Стоит ли прятать интерфейсные методы внутри класса, чтобы обеспечить доступ к интерфейсу интерфейса только с помощью явного приведения указателя на объект к интерфейсному указателю.
C++
1
2
3
4
5
6
7
8
9
10
class Interface
{
public:
    virtual void f() = 0;
}
class Bar : public Interface
{
private:
    virtual void f( ){};
}

2) Сразу же по п.1 возникает проблема:
промолчит если класс перестал реализовывать данный интерфейс
C++
1
2
3
IFoo* ptr = dynamic_cast<Foo*>(m_bar);
if(ptr)
    ptr->canDo();
тут же не даст скомпилить
C++
1
IFoo* ptr = m_bar;
Какой способ предпочитаете вы?

3) стоит ли писать префиксную приставку методам интерфейсса
C++
1
virtual void ICanDraw_draw() = 0;
для обеспечения перекрыания совпадения имён методов разных интерфейсов и читаемость кода.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru