关于默认构造函数和含默认参数为0的构造函数的区别?新手求教
问题是这样的:上课的时候老师在用DevC++编一个新代码介绍多态(这不重要),写的是类,然后他直接开始写成员函数(总的来说它没有写析构和默认构造函数),
然后自定义了一个构造函数比如time(int hour,int minute,int second)然后他在int main()中定义time s1的时候,报错
说没定义默认构造函数,然后他就把上面的参数改成int hour=0,int minute=0,int second=0;然后这个问题就解决了。然后叫同学打的时候,同学写了个默认的time(){}和time(int hour=0,int minute=0,int second=0)然后就报错了。。。。
我的问题是:老师改过之后跟原来的有是什么区别,还有此时老师依旧没有定义默认构造函数是么?那加了个什么都不做的默认构造函数后为什么就错了?(我所知道的知识:自定义构造函数时,系统不会帮你定义默认构造函数。。。这个应该是对的吧)
求解。。。。