#c
#c
Вопрос:
у меня есть что-то похожее на configData:
class all {
public:
class animals {
public:
class animalPatern {
public:
int hp = 80;
std::string name = "no name";
};
class cow : public animalPatern {
public:
std::string name = "big cow";
};
class bird : public animalPatern {
public:
std::string name = "small bird";
};
};
};
как я могу получить имя родительского класса animalPatern от дочернего класса bird, для шаблона я могу использовать std::is_base_of, не могу найти какую-либо информацию, как это сделать для класса…
а также возможность получить имя всех дочерних классов, как у животных: animalPatern, cow ,bird
Комментарии:
1. Неясно, что вы хотите сделать. Чтобы использовать
animalPatern
, просто запишите этот идентификатор, нет необходимости «получать» его откуда угодно. OTOH родитель не может получить никакой информации о дочерних элементах.2. извините, плохой перевод, есть класс имени «cow», получающий его родительский класс имени «animalPatern». У меня есть несколько методов для получения данных в конкретном классе, хочу попробовать метод записи, чтобы получить имя родительского класса и получить все дочерние классы
3. @hekut146 в виде строки во время выполнения или в качестве идентификатора во время компиляции. Также некоторые вещи, о которых вы должны знать: 1.
bird
иcow
объекты содержат 2 строки по 2. Вы можете наследовать от нескольких классов, что может усложнить ситуацию, если это произошло в вашем случае.4. Выглядит как
all
иanimals
должно бытьnamespace
вместо пустогоclass
.5. Компьютеру не нужны такие глупые вещи, как понятные для человека идентификаторы. Обычно они давно исчезли, отбрасываются компилятором за ненадобностью во время выполнения.