注册 登录
编程论坛 C++教室

C++的一个问题

风之子MIKEY 发布于 2012-10-01 15:25, 401 次点击
请问前辈能不能由一个类型名可以得到访类型的方法
7 回复
#2
习惯被动2012-10-01 19:26
什么意思?能举个例子吗?
#3
风之子MIKEY2012-10-01 21:40
class my_class
{
      ....
};

我有一个类的类名为"my_class"
然后我想得到一个类 my_class的一个指针。
类似于:new "my_class"

#4
寒风中的细雨2012-10-01 21:42
不明白你想表达的意思
#5
风之子MIKEY2012-10-01 22:12
我有一个集合里面同时放入各种类型的数据。具体放入了什么类型的数据预先无法知道,只有这个数据类型的类型名字符串。我怎样才能取到里面的数据?
class my_class
{
      ....
};


class collect
{
    private:
       long *pdata;
       int num;
    public:
        collect()
          {
              num=0;pdata=NULL;
           }  
        
       template<class T>
       void add(T *t)
          {
            if(num%10==0)
              {  
                 long *p=new long[num+10];
                 for(int i=0;i<num;i++)p[i]=pdata[i];
                 delete pdata;
                 pdata=p;
               }
             pdata[num++]=(long)t;
                return;
            }
      long Get(int pos)
         {
            if(pos<=0 || pos>num)return 0;
            return pdata[pos-1];            
            }
}
main()
{
  collect ct;
  int a1;
  long a2;
  my_class a3;
  ct.add(&a1);
  ct.add(&a2);
  ct.add(&a3);
  long get=ct.Get(3);//假如我不知道第三个数据的类型,只知他的类类型名为"class_name",我得了get以后怎么传换类型。   
}
#6
寒风中的细雨2012-10-02 11:40
程序自动完成类型转换?


但是你后来想怎么使用


把地址赋值给了long型      使用这个long型的变量  想达到和操作其他类型一样的效果?


[ 本帖最后由 寒风中的细雨 于 2012-10-2 12:02 编辑 ]
#7
寒风中的细雨2012-10-02 12:20
根据对比已知的字符串   判断它的类型  然后进行强制类型转换
#8
lz10919149992012-10-02 23:19
Java的RTTI可以通过类名来创建该类的对象,但是在C++里,这种情况只能打表。
1