Привет всем.
Сразу к делу. Есть несколько классов: Class1, Class2, Class3.
Соответственно есть и 3 объекта: obj1, obj2, obj3 от этих класов.
У каждого объекта есть одинаковые методы: method_a(), method_b(), method_c().
То есть к каждому объекту ( obj1, obj2, obj3 ) можна применить любой из этих метов, они у них все есть, лишь результат будут давать разный.
Проблема в следуещем.
Как приметить метод ( напр. method_a() ) к _необходимому_ объекту?
Напр.
std::string needObj;
...
// для метода method_a()
if ( needObj == "objectOne" ) {
obj1 -> method_a();
} else if ( needObj == "objectTwo" ) {
obj2 -> method_a();
} else if ( needObj == "objectThree" ) {
obj3 -> method_a();
}
...
и так далее...
Как видно это очень догло и много писанины. Тем более что у меня таких ф-ций будет много.
Можно как либо это организовать нормально?
Шаблоны не подходят так как им надо как раз передавать _нужный_ объект, и значит что всю писанину эту мне придеться сново писать. Перебор в шаблони сделать не получится, так как ему сново же нужно передавать объект в качестве параметра.
void * ф-ция тоже не подходит, как как придеться делать static_cast сново же писать эти циклы....
Есть ли какой-либо нормальный способ огранизовать это перебор нужного объекта с вызовом нужного метода в виде ф-ции или еще как-то?
Похожие темы
- Форум Переопределить метод объекта (2013)
- Форум Просмотр dbus методов объекта (2010)
- Форум Не могу применить цвет к объекту (2017)
- Форум Замена метода объекта javascript обёрткой (2013)
- Форум Удаление объекта во времяисполнения метода (2013)
- Форум (С++) Как правильно удалить объект из метода этого объекта? (2000)
- Форум [Java] короткий метод сравнения двух объектов (2011)
- Форум Применить патч (2022)
- Форум Методы контроля доступа к создаваемым файловым объектам (2012)
- Форум Передать указатель на метод объекта в функцию (2015)