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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
razor_ua
11 / 11 / 0
Регистрация: 20.05.2011
Сообщений: 71
#1

Статические функции-члены - хорошо или плохо? - C++

30.12.2015, 19:16. Просмотров 291. Ответов 4
Метки нет (Все метки)

Всем привет.

Приведу пример такой архитектуры.

Есть базовый интерфейс. От него наследуются много конкретных.
И есть фабрика, которая по какому-то id (например enum) создает экземпляр конкретного класса.

Так вот, сначала мне нужно узнать все эти id, без создания экземпляров.

Насколько нормальным будет решение использовать публичный статический метод в конкретных классах, который будет возвращать этот id ? для заполнения коллекции этих id.

Может кто-то подскажет более элегантное решение данной проблемы?
Т.е. нужно узнать список доступных классов, а уже потом создавать объекты.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.12.2015, 19:16
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Статические функции-члены - хорошо или плохо? (C++):

Глобальные указатели. Плохо или хорошо? - C++
Уважаемые знатоки, хотел уточнить один вопрос. Дело в том, что я использую глобальные указатели на объекты. Сами объекты создаются по...

Статические члены и функции - C++
Что-то я не могу понять что я забыли и чяднт что код не компилируется. #include <iostream> #include <string> using namespace std; ...

Переменные на русском языке - хорошо или плохо? - C++
в mvs 2012 заметил возможность в проектах c++ переменным, функциям, классам давать русско-буквенные имена. как вы относитесь к...

реализация класса в .h файле хорошо или плохо? - C++
все знакомые мне ide разделяют класс на два файла: .h с описанием и .cpp с кодом, но, например, в boost .hpp файлы почти всегда содержат и...

Такой способ создание экземпляра класса хорошо или плохо? - C++
Объясните пожалуйста в чем есть плохо создавать экземпляр класса вот так? class A{ /*.....*/ }objA; нежели так :

Статические члены - C++
Мне необходимо создать класс А, причем: этот класс всегда нужен в единственном экземпляре, через этот класс работают классы В и С (т.е. в...

4
castaway
Эксперт С++
4926 / 3033 / 372
Регистрация: 10.11.2010
Сообщений: 11,084
Записей в блоге: 10
Завершенные тесты: 1
30.12.2015, 19:21 #2
Статические функции-члены - хорошо или плохо?
Это нормально.
Хорошо или плохо - зависит от того как ты это используешь.
0
Ferrari F1
623 / 521 / 101
Регистрация: 27.01.2015
Сообщений: 3,025
Записей в блоге: 1
Завершенные тесты: 1
30.12.2015, 19:24 #3
Статические методы класса в некоторых случаях очень удобны.
Например, у тебя есть класс банка, тебе нужно посмотреть, скажем, общее кол-во клиентов во всех филиалах, ты ведь не будешь ради этого создавать объект класса "банк" и вызывать от его имени соотв. метод только ради просмотра этой инфы?
0
ForEveR
В астрале
Эксперт С++
7994 / 4753 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
30.12.2015, 23:39 #4
Ferrari F1, Нет, будет некий менеджер клиентов, который и будет этим рулить. Ну в идеале конечно.
0
Operok
172 / 170 / 46
Регистрация: 15.02.2015
Сообщений: 492
Завершенные тесты: 2
31.12.2015, 00:42 #5
В плюсах статический метод больше похож на "синтаксический сахар", дабы придать больше "ООПэшности". Есть же возможность объявлять глобальные функции, в отличие от некоторых ООП языков, и есть "friend", чтобы дать доступ к приватным полям. Бонусом является область видимости (пространство имен) - внутри класса.
0
31.12.2015, 00:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.12.2015, 00:42
Привет! Вот еще темы с ответами:

Статические члены класса - C++
Добрый день. Проходили тему - статические члены класса. Написали программу, вылезает ошибка, помогите побороть пожалуйста. #include...

Статические члены класса - C++
Доброго времени суток. Задача состоит в том, чтобы создать список обыектов класса Test, с возможностью последующего добавления элементов...

Зависимости и статические члены - C++
По ходу дела, у меня возникла следующая проблема. Допустим, что у нас есть два класса. Один класс затребует второй. Второй класс...

Статические массивы, члены класса - C++
необходимо создать статический массив. компилятор gcc #include<iostream> class c{ public: static const char x = "qwe"; ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru