c++类中怎样给数组型的数据成员赋初值?能不能用构造函数?谢谢!

#include<iostream>usingnamespacestd;classdate{public:date(){number[9]={0,1,2,3,4,5,6,... #include<iostream>
using namespace std;
class date
{
public:
date()
{
number[9]={0,1,2,3,4,5,6,7,8};
}
~date();
int number[9];
void show()
{
for(int i=0;i<9;i++)
cout<<number[i]<<endl;
}
};

void main()
{
date d;
d.show();
}
//这样不行?应该怎样实现上述目的。感激不尽!
展开
 我来答
llqbbd
2012-12-18 · TA获得超过194个赞
知道答主
回答量:122
采纳率:100%
帮助的人:51.1万
展开全部
void date::date(char number[])
{
int i;
for(i=0;i<8&&(name[i]=name1[i]);i++)name[8]='\0';
}

此构造函数,放在类外边,为类外实现!
我用的是这个,按你的改了一下,你试试,好用不。
o後青春o
2012-12-18 · 超过11用户采纳过TA的回答
知道答主
回答量:37
采纳率:0%
帮助的人:36.9万
展开全部
在构造函数里面的数组不应该是初始化 而是循环赋值
date()
{
for(int i=0;i<9;i++)

number[9]=i;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lgao622
2012-12-18 · 知道合伙人软件行家
lgao622
知道合伙人软件行家
采纳数:1137 获赞数:6550
毕业于武汉工程大学邮电与信息工程学院通信专业,软件行业,4年工作经验。

向TA提问 私信TA
展开全部
date()
{
for(int i=0;i<9;i++)

number[9]=i;
}
追问
额,编译可以通过,链接出问题了。还有,比如我想给成员数据全部复制成零呢?number[9]={0},这样为什么也不行呢?谢谢!
追答
date()
{
for(int i=0;i<9;i++)
number[i]=i; // 改正一下 number[i]
}
~date(){} //这要加 {} ,不然 你没有析构函数 函数体

number[9]={0} 只是对 number[9]赋值为0,而且越界,最多只有number[8]
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wu7o7o7o7o00
2012-12-18
知道答主
回答量:53
采纳率:0%
帮助的人:11.4万
展开全部
不好意思 帮不了你
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式