2015-10-07 7 views
0

В моем методе print я хочу напечатать имя моего класса Team («Bar»). Есть ли способ получить имя класса без отправки его в качестве аргумента? Я хочу построить внутри ostream соиЬ < < оператор что-то вроде «Название команды: ** функция, которая получает название (» Бар «в данном случае) **»Получение имени класса в C++

int main() 
{ 
    cout << "hello"<<endl; 
    Team Bar; 

    for (int i = 0; i < 2; i++) 
    { 
     Bar.addPlayer(); 
    } 

    cout << Bar; //here I want to print the name of the Team ("Bar") without having a string Bar as a parameter 

    Bar.manage(); 
    cout << Bar; 

    return 0; 
} 
+0

На самом деле, вы хотите напечатать имя переменной? Включите также определение класса Team. «Бар» - это всего лишь экземпляр класса, который называется переменной. Ответ на ваш вопрос может занять [здесь] (http://stackoverflow.com/q/1623111/2436175). – Antonio

+0

Хм, странно, я перечислил два дубликата в тесном голосовании, но только один появился, когда вопрос закрылся. Во всяком случае, второй был http://stackoverflow.com/questions/3649278/how-can-i-get-the-class-name-from-a-c-object – SingerOfTheFall

+0

Как вы можете проголосовать за _two_ duplicates, @Singer? –

ответ

0

Нет, это не имеет никакого отношения к делать с классами: во время выполнения вы не можете напечатать имя любой переменной. Эти имена больше не существуют после компиляции кода.

+0

inb4 «да, они делают это как символы отладки «Шуш не имеет значения и не помогает здесь –

+0

Существуют программные способы. См. Http://stackoverflow.com/questions/1623111/programmatic-way-to-get-variable-name-in-c – Antonio

Смежные вопросы