[問題] class-type變數名稱

作者: skyconquer (梅郭曲)   2015-01-05 22:33:40
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++
想請教各位先進一個問題:
我想要在創建一個class BASE之後,
class BASE{
private:
std::string Name;
}
在main()主程式中宣告一BASE-type的pointer,如下:
BASE* obj1 = new BASE;
我希望這個pointer名稱obj1可以順便初始化 Name 這個data member,
這樣我可以利用一個member function把這個"obj1"作為一string印出來,
但不知該如何下手.....我是有想過要用construtor,在初始化時就將變數名稱
存進Name中,但不知道該如何做.......
請有辦法的大大不吝賜教,謝謝。
作者: EdisonX (卡卡獸)   2015-01-05 22:36:00
Base()::Base(string s):Name(s){}//obj = New Base("N")抱歉..原來你要的是把 變數名 當 字串 存入.. Orz
作者: azureblaze (AzureBlaze)   2015-01-05 23:21:00
作者: Killercat (殺人貓™)   2015-01-06 00:33:00
RTTI有提供typeid([your type])但是有兩點要住意的 : 1. RTTI能不碰就不碰(真的)2. 他得到的名字其實不只class name,會混雜其他東西而他輸出的pattern可能跟你預期的不太一樣https://gist.github.com/Rayer/b75c5d4c1768d231631e
作者: uranusjr (←這人是超級笨蛋)   2015-01-06 02:45:00
珍惜生命, 遠離 RTTI

Links booklink

Contact Us: admin [ a t ] ucptt.com