newyj 发表于 2008-5-2 13:49

关于成员模板的问题?

书上说 不同类型之间的转换 必须 用上成员模板
例:Stack<int> intStack1,intStack2;
Stack<float> floatStack;
...
floatStack=intStack;  //两个类型不一样

说要改成这样 才行
template <typename T>
class Stack{
  public:
    template<typename T2>
    Stack<T>& operator=(Stack<T2>const&);
};
不是太懂  为什么用成员模板
成员模板 除了上述作用外 还能有什么作用

sunkaidong 发表于 2008-5-2 13:52

这个vc6.0不支持...c++是强类型语言..你不转换是不能通过编译的...

newyj 发表于 2008-5-2 13:54

我主要不知道 成员模板 的作用 和 意义
怎么转换啊

sunkaidong 发表于 2008-5-2 13:59

没什么意思...个人设计的需要..就好像你要进行运算符重载一样..由于要不同类型转换需要就用好了

sunkaidong 发表于 2008-5-2 14:15

一般情况下是用来减少函数重载的.如果你发觉要重载了..就用模板吧..

newyj 发表于 2008-5-2 16:18

是不是 在类中的 重载 一般用 模板啊

sunkaidong 发表于 2008-5-2 16:25

恩..可以这样思考

页: [1]

编程论坛