注册 登录
编程论坛 C++教室

各位编程大大,指点一下小弟

bigdr 发布于 2007-12-06 16:33, 912 次点击
江湖救急啊,老师出了两条题,各位大哥指点一下吧,都是改错题,要找出程序的错误,并注释一下错误的原因
1.
class Time
{ public:
  Time(int day){ iMonth=5; iDay=day; iYear=2000; }
  Timt(int month, int day=7 ) { iMonth=month; iDay=day; iYear=2000; }
  Private:
  int iMonth; int iDay; int iYear;
};
void main()
{ Time input(9,1,2005);
  input.iMonth=1;
}
2.
Template<class T>
Type func ( T a , T b )
{ return ( a > b ? a : b ); }
#include<iostream.h>
void main()
{ int a=3 ; double x=3.5 ;
  cout<<func(a,x)<<endl;
}
3 回复
#2
heyyroup2007-12-07 14:11
input.iMonth=1;
对象不能直接调用类的私有成员的

int a=3 ; double x=3.5 ;
  cout<<func(a,x)<<endl
这里a,x的类型不同吧
#3
中学者2007-12-07 14:14
1.
class Time
{ public:
  Time(int day){ iMonth=5; iDay=day; iYear=2000; }
  Timt(int month, int day=7 ) { iMonth=month; iDay=day; iYear=2000; }
  Private:
  int iMonth; int iDay; int iYear;
};
void main()
{ Time input(9,1,2005);
  input.iMonth=1;
}
2.
Template<class T>
Type func ( T a , T b )
{ return ( a > b ? a : b ); }
#include<iostream.h>
void main()
{ int a=3 ; double x=3.5 ;
  cout<<func(a,x)<<endl;
}

红的地方都是错误:
  1.Private全为小写
  2.Time类没有对象调用的那个构造函数
  3.Template全为小写
  4.模板类型是T而不是Type
  5.func()函数的两个参数是一个类型,除非你在第二个参数处用强制转换~
#4
中学者2007-12-07 14:15
还有二楼说的错误,刚才没看见。............惭愧~
1