首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

模版指针使用有关问题//求解释m_t = new 一个char数组呢。

2013-11-14 
模版指针使用问题//求解释m_t new 一个char数组呢。。。。template typename Tclass base{public:T test(T

模版指针使用问题//求解释m_t = new 一个char数组呢。。。。


template <typename T>
class base{
public:
T test(T d);
T m_t;
};

template <typename T>
T base<T>::test(T d)
{
m_t = new 一个char数组呢。。。。  
}


int _tmain(int argc, _TCHAR* argv[])
{
base<char*> obj;
        char ca[10] = "abc";
cout << obj.test(ca) << end;
return 0;
}


[解决办法]
特化
#include <cstring>
#include <iostream>

template <typename T>
class base;


template <typename T>
class base<T*>
{
public:
       base(): m_t(0)
       {
        }
T* test(T const* d)
{
m_t = new char[strlen(d) + 1];
strcpy(m_t, d);
return m_t;
}
       ~base()
        {
          delete [] m_t;
        }
private:
T* m_t;
};

int main()
{
base<char*> obj;

std::cout << obj.test("abc") << std::endl;
return 0;
}

热点排行