C++问题:能不能定义类的数组??

#include<iostream>usingnamespacestd;classPoint{private:intyear;intmonth;intday;public... #include<iostream>
using namespace std;
class Point
{
private:
int year;
int month;
int day;
public:
Point(int ,int ,int );
void Set(int ,int ,int );
void Show();
};
Point::Point(int a,int b,int c)
{
year=a;
month=b;
day=c;
cout<<"start construct"<<endl;
}

void Point::Set(int j,int k,int l)
{
year=j;
month=k;
day=l;
}
void Point::Show()

{
cout<<year<<"."<<month<<"."<<day<<endl;
}
int main()
{ Point s[2];
s[0].Set(2008,8,8);
s[1].Set(2009,9,9);
s[0].Show();
s[1].Show();
return 0;

}

谢谢啊!!
展开
 我来答
百度网友215cb36
2011-10-05 · 超过65用户采纳过TA的回答
知道小有建树答主
回答量:152
采纳率:0%
帮助的人:179万
展开全部
#include<iostream>
using namespace std;
class Point
{
private:
int year;
int month;
int day;
public:
Point(int ,int ,int );//Point(int a=0,int b=0,int c=0);----------------可以这样修改
void Set(int ,int ,int );
void Show();
};
Point::Point(int a,int b,int c)
{
year=a;
month=b;
day=c;
cout<<"start construct"<<endl;
}

void Point::Set(int j,int k,int l)
{
year=j;
month=k;
day=l;
}
void Point::Show()

{
cout<<year<<"."<<month<<"."<<day<<endl;
}
int main()
{ Point s[2];//没有提供对应的构造函数
s[0].Set(2008,8,8);
s[1].Set(2009,9,9);
s[0].Show();
s[1].Show();
return 0;
}
错误很简单。因为你在定义Point的构造函数时没有给3个参数默认值,而你在定义对象数组时又没有提供对应的参数,所以报错
yandonglele
2011-10-06 · 超过11用户采纳过TA的回答
知道答主
回答量:37
采纳率:0%
帮助的人:24.2万
展开全部
数组在定义时是要分配内存空间的,所以要有相应的构造函数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
忽视的发生1
2011-10-05
知道答主
回答量:28
采纳率:0%
帮助的人:15.3万
展开全部
Point s[2]中的是s[2]只是point类的一个对象不是数组
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
suixinsoft
2011-10-05 · 超过23用户采纳过TA的回答
知道答主
回答量:172
采纳率:0%
帮助的人:87.1万
展开全部
当然可以
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式