| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1363 人关注过本帖
标题:默认参数的类模板问题
只看楼主 加入收藏
zhuzhidu784
Rank: 1
等 级:新手上路
帖 子:12
专家分:4
注 册:2011-5-3
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:4 
默认参数的类模板问题
程序代码:
#include<iostream>
using namespace std;
template<typename AType=int,int size = 10>
class atype
{
    public:
        atype()
        {
            int i;
            for(i=0;i<size;i++) array[i]=i;
        }
        AType& operator[](int n);
    private:
        AType array[size];
};
template<typename AType,int size>AType& atype<AType,size>::operator [](int n)
{
    if(n<0||n>=size)
    {cout<<"下标"<<n<<"超出范围!!!"<<endl;
    exit(1);
    }
    return array[n]=n;
}
int main()
{
    atype<int,12>intob;
    atype<double>doubleob;
    atype<>defaultob;
    int i;
    cout<<"int数组:";
    for(i=0;i<12;i++) intob[i]=i;
    for(i=0;i<12;i++)
        cout<<intob[i]<<"  ";
    cout<<endl;
    cout<<"double数组:";
    for(i=0;i<10;i++) doubleob[i]=(double)i/2;
    for(i=0;i<10;i++)
        cout<<doubleob[i]<<"  ";
    cout<<endl;
    cout<<"默认数组:";
    for(i=0;i<10;i++)
    for(i=0;i<10;i++)
        cout<<defaultob[i]<<"  ";
    cout<<endl;
    return 0;
}
我明明设置了doubleob[i]=(double)i/2;
可是为什么输出却是0 1 2 3 4 5 6 7 8 9啊
搜索更多相关主题的帖子: color 
2011-05-07 13:05
玩出来的代码
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:河南新乡
等 级:贵宾
威 望:11
帖 子:742
专家分:2989
注 册:2009-10-12
收藏
得分:5 
你在下表操作符中将下标赋值给array[n]了,值已经变了

离恨恰如春草,更行更远还生。
2011-05-07 14:09
zhuzhidu784
Rank: 1
等 级:新手上路
帖 子:12
专家分:4
注 册:2011-5-3
收藏
得分:0 
回复 2楼 玩出来的代码
那怎么改啊

我的生活不是因为玩而精彩!!!而是因为怎么玩而精彩!!!!!!!!!!
2011-05-07 18:48
zhuzhidu784
Rank: 1
等 级:新手上路
帖 子:12
专家分:4
注 册:2011-5-3
收藏
得分:0 
知道怎么改了 谢谢哈  呵呵

我的生活不是因为玩而精彩!!!而是因为怎么玩而精彩!!!!!!!!!!
2011-05-07 18:49
lintaoyn
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:606
专家分:2499
注 册:2009-4-8
收藏
得分:0 
return array[n]=n;改成return array[n];

迭代的是人,递归的是神。
2011-05-08 08:20
快速回复:默认参数的类模板问题
数据加载中...
 
   



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

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