[问题] 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