C++ wyświetlanie nazwy obiektu


(Adi 114) #1

Witam,

Potrzebuje pomocy, gdyż muszę wyświetlić nazwę obiektu dla którego wprowadzane są dane. Jest coś takiego możliwe do zrobienia?? Kod programu wygląda następująco:

class klasa

{

      float srednia;         

      void oblicz_sr(int);   

 public:

      string imie,nazwisko;   

      int k_klasa;          

      void promocja();        

      void wyroznienie();     

      void wyswietl();       

      int ndst;              


};


int main()

{

    klasa uczen1, uczen2;

itd... a później trzeba to wyświetlić w tym miejscu:

void klasa::wyswietl()

{

     cout<<"Nalezy obliczyc srednia /tu nazwa obiektu (uczen1 lub 2)/. Chcesz uzupelnic dane? (t/n)";

     char a;

     cin>>a;

Z góry dziękuję za otrzymaną pomoc

Pozdrawaim


(etam) #2

Nie ma takiej możliwości. Możesz wyświetlić dane, które są zapisane w obiekcie.

Przy okazji: zmień nazwę klasy "klasa" na coś konkretnego, np. "uczen".


(Adi 114) #3

ok dziękuję bardzo za info


([alex]) #4
klasa &a=*(new klasa),&b=a,&c=b;

c.wyświetl(); // co wg ciebie powinno się wyświetlić tu zamiast nazwy? bo obiekt ma trzy nazwy: a, b i c

klasa().wyświetl(); // a tu ? nawet zmiennej nie ma

(new klasa)->wyświetl(); // a tu ?

(invader92) #5

Możesz wyświetlić nazwę klasy via RTTI (runtime type information), aczkolwiek na ogół takie praktyki w C++ nie są mile widziane i niezbyt potrzebne. Taki odprysk :slight_smile:

http://www.cplusplus.com/reference/typeinfo/type_info/

Co do nazwy samego obiektu - nie jest to możliwe, najprościej mówiąc dlatego, że to tylko jego nazwa w kodzie, ułatwienie dla Ciebie.