Есть ли способ получить имя базового класса в C ++ во время выполнения? - PullRequest
0 голосов
/ 03 декабря 2010

Вы можете получить имя текущего класса, предполагая, что RTTI включен, используя typeid (this) .name () во время выполнения.

Я хотел бы иметь возможность получить имя базового класса для "this". Это возможно? Я не использую множественное наследование, если это имеет значение.

Ответы [ 4 ]

2 голосов
/ 03 декабря 2010

Кроме того, я не думаю, что вы можете рассчитывать на typeid(this).name(), чтобы дать вам имя класса (AFAIK точное возвращаемое значение определяется реализацией).

1 голос
/ 03 декабря 2010

Информация не может быть надежно извлечена, потому что она надежно нигде не хранится, в свою очередь, потому что философия C ++ не должна давать вам вещи, если вы явно не просите их.

1 голос
/ 03 декабря 2010

Нет, сэр.Сожалею.И ваш метод получения имени класса таким способом зависит от реализации.В моей реализации я получаю искаженное имя.

0 голосов
/ 03 декабря 2010

Нет, это не так, и причина, по которой вам нужна эта функция, сомнительна:)

...