![]() |
#2
小糊涂神c302012-05-27 10:02
|

#include<iostream.h>
class date
{
private:
int a;
int b;
public:
date(int x,int y);
int decide();
void sum();
void print();
};
date::date(int x,int y)
{
a=x;
b=y;
}
int date::decide()
{
if(a>b)
return 1;
else
return 0;
}
void date::print()
{
cout<<"a="<<a<<" b="<<b<<endl;
}
void main()
{
int x,y;
cout<<"输入x,y的值:";
cin>>x>>y;
date A(x,y);
while(1)
{
if(A.decide())
{
A.print();
break;
}
else
{
cout<<"输入有误,重新输入:";
cin>>x>>y;
date A(x,y);
}
}
}
我的思想是这样的,输入两个数,判断x是不是大于y,如果是,输出x,y的值,否则重新输入!问题是红色部分重新输入x大于y的值之后,为什么不能把原来的值覆盖掉!请路过的帮忙看一下。 class date
{
private:
int a;
int b;
public:
date(int x,int y);
int decide();
void sum();
void print();
};
date::date(int x,int y)
{
a=x;
b=y;
}
int date::decide()
{
if(a>b)
return 1;
else
return 0;
}
void date::print()
{
cout<<"a="<<a<<" b="<<b<<endl;
}
void main()
{
int x,y;
cout<<"输入x,y的值:";
cin>>x>>y;
date A(x,y);
while(1)
{
if(A.decide())
{
A.print();
break;
}
else
{
cout<<"输入有误,重新输入:";
cin>>x>>y;
date A(x,y);
}
}
}