看看这是哪里错了

Luger 2010-12-22 10:30:35
#include<iostream>
using namespace std;
class Data{
private:
int year;
int month;
int day;
public:
Data(int x=2010,int y=12,int z=22)
{
year=x;month=y;day=z;
}
void show()
{
cout<<"The Data is:"<<year<<"."<<month<<"."<<day<<endl;
}
};
int main()
{
Data data1(); //运行的时候提示这里错误 改成Data data1(2005,9,22);即正确了。
data1.show();
return 0;
}
我看课本上就是第一种啊 怎么还运行的时候提示错误呢? 使编译器的原因还是其他的呢?
...全文
168 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
噢噢噢噢 2010-12-23
  • 打赏
  • 举报
回复
看书中关于构造函数的部分
rainmarker 2010-12-23
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 luciferisnotsatan 的回复:]

写成Data data1

Data data1(); 这个被编译器解释成了一个函数声明。函数名为 data1,无参,返回类型为Data
[/Quote]++
luciferisnotsatan 2010-12-23
  • 打赏
  • 举报
回复
写成Data data1

Data data1(); 这个被编译器解释成了一个函数声明。函数名为 data1,无参,返回类型为Data
ysysbaobei 2010-12-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xiaoyuanyuan2009 的回复:]
int main()
{
Data data1;
data1.show();
return 0;
}
改成这样也可以通过。当你构造一个对象的时候,如果不需要传递参数,清不要加括号
[/Quote]

zpf290079626 2010-12-22
  • 打赏
  • 举报
回复
楼上说的很正确 因为构造函数没有传参 所以 不能写成Data data1();
cranium 2010-12-22
  • 打赏
  • 举报
回复
没默认构造函数,无法以 Data data1;来构造对象。

还有,即便有个空参构造函数,你也不能够写成 Data data1(); 这是错误的!
就想叫yoko 2010-12-22
  • 打赏
  • 举报
回复
学习了, 刚才去试了一下, 也被搞晕了[Quote=引用 1 楼 xiaoyuanyuan2009 的回复:]
int main()
{
Data data1;
data1.show();
return 0;
}
改成这样也可以通过。当你构造一个对象的时候,如果不需要传递参数,清不要加括号
[/Quote]
la_feng 2010-12-22
  • 打赏
  • 举报
回复
#include<iostream>
using namespace std;
class Data{
private:
int year;
int month;
int day;
public:
Data(int x=2010,int y=12,int z=22)
{
year=x;month=y;day=z;
}
void show()
{
cout<<"The Data is:"<<year<<"."<<month<<"."<<day<<endl;
}
};
int main()
{
Data data;
Data data1(2005,9,22);
data.show();
data1.show();
return 0;
}
谁学逆向工程 2010-12-22
  • 打赏
  • 举报
回复
int main()
{
Data data1;
data1.show();
return 0;
}
改成这样也可以通过。当你构造一个对象的时候,如果不需要传递参数,清不要加括号

64,647

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧