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;
}
谢谢啊!! 展开
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;
}
谢谢啊!! 展开
4个回答
展开全部
#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个参数默认值,而你在定义对象数组时又没有提供对应的参数,所以报错
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个参数默认值,而你在定义对象数组时又没有提供对应的参数,所以报错
展开全部
数组在定义时是要分配内存空间的,所以要有相应的构造函数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Point s[2]中的是s[2]只是point类的一个对象不是数组
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
当然可以
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询