| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 624 人关注过本帖, 1 人收藏
标题:c++模板的定制问题
只看楼主 加入收藏
wghost
Rank: 2
等 级:论坛游民
帖 子:47
专家分:31
注 册:2009-6-6
结帖率:37.5%
收藏(1)
已结贴  问题点数:20 回复次数:3 
c++模板的定制问题
#include<iostream>


template<class T1,class T2>
class Mytemplate
{
    private:
       T1 obj1;
       T2 obj2;
    public:
        Mytemplate(T1 o1,T2 o2):obj1(o1),obj2(o2){}
        void display()
        {
            std::cout<<"object display:"<<std::endl;
            std::cout<<"----------------"<<std::endl;
            std::cout<<"object 1: "<<obj1<<std::endl;
            std::cout<<"object 2: "<<obj2<<std::endl;
            std::cout<<std::endl;
        }
};

template<class T1>
class Mytemplate<T1,char>
{
    private:
        T1 obj1,obj2;
    public:
        Mytemplate(T1 o1,char c):obj1(o1),obj2(o1)
        {
            obj2+=(int)c;
        }
    void display()
        {
            std::cout<<"object display:"<<std::endl;
            std::cout<<"----------------"<<std::endl;
            std::cout<<"object 1: "<<obj1<<std::endl;
            std::cout<<"object 2: "<<obj2<<std::endl;
            std::cout<<std::endl;
        }
};

int main()
{
    Mytemplate<int,int> mt1(10,20);
    Mytemplate<int,char> mt2(10,'b');
    mt1.display();
    mt2.display();
    return 0;
}


d:\source\c++\标准c++\pr15010\aaa.cpp(40) : error C2989: 'Mytemplate<T1,char>' : template class has already been defined as a non-template class
d:\source\c++\标准c++\pr15010\aaa.cpp(40) : error C2988: unrecognizable template declaration/definition
Error executing cl.exe.
 
谁知道是怎么回事啊???!
搜索更多相关主题的帖子: 模板 定制 
2010-04-24 18:31
debroa723
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:23
帖 子:862
专家分:1954
注 册:2008-10-12
收藏
得分:6 
你的代码我在VS2008下编译通过了。这是模板特化为绝对类型,应该没什么问题。
2010-04-24 20:14
lijm1989
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:珠海
等 级:贵宾
威 望:12
帖 子:675
专家分:2844
注 册:2009-10-14
收藏
得分:6 
编译器的问题,换个吧
2010-04-25 12:33
南国利剑
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:29
帖 子:1165
专家分:3536
注 册:2010-4-12
收藏
得分:6 
我看了代码,也觉得没什么问题。
现在没有环境,晚上回去看。

南国利剑
2010-04-26 19:09
快速回复:c++模板的定制问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020150 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved