大家来看看,为什么前者可以编译,但两个class定义位置换了之后就不能编译了???为什么?

来源:百度知道 编辑:UC知道 时间:2024/07/05 03:11:57
可以编译:#include<iostream>

using namespace std;
class bigtime {};

class time
{private:int hour;int minute;
public:time(int =0,int =0);print();}

main()
{class time time1(2,3);time1.print();

system("Pause");}

time::time(int a,int b)

{hour=a;minute=b;}
time::print()
{cout<<hour<<endl<<minute;}

不能编译:#include<iostream>

using namespace std;

class time
{private:int hour;int minute;
public:time(int =0,int =0);print();}

class bigtime {};

main()
{class time time1(2,3);time1.print();

system("Pause");}

time::time(int a,int b)

{hour=a;minute=b;}
time::print()
{cout<<hour<<endl<<minute;}

#include<iostream>

using namespace std;

class time
{
private:
int hour;
int minute;
public:
time(int a=0,int b=0); //参数要有名字的
print();
}; // 类定义结尾要有分号的

class bigtime
{
};

main()
{class time time1(2,3);time1.print();

system("Pause");}

time::time(int a,int b)

{hour=a;minute=b;}
time::print()
{cout<<hour<<endl<<minute;}