Предположим, что у меня есть тип данных enum TreeTypes { TallTree, ShortTree, MediumTree }
.
И я должен инициализировать некоторые данные на основе одного конкретного древовидного типа.
В настоящее время я писал этот код:
int initialize(enum TreeTypes tree_type) {
if (tree_type == TallTree) {
init_tall_tree();
}
else if (tree_type == ShortTree) {
init_short_tree();
}
else if (tree_type == MediumTree) {
init_medium_tree();
}
return OK;
}
Но это - некоторое глупое повторение кода. Я не использую ни одной из мощных возможностей C++ как шаблоны.
Как я мог написать этот код лучше?
Спасибо, Boda Cydo.