#include
using namespace std;
class XG{
private:
float Aweight;
int Ycount;
int count;
public:
XG(int,float);
~XG();
XG(int); //这个可以不要的.
int getT();
int get();
int tg(int);
int mg(int);
float getw();
};
XG::XG(int c,float w)
:count(c),Ycount(c),Aweight(w)
{}
XG::~XG()
{}
XG::XG(int c):count(c) //这个构造函数可以不写.
{}
float XG::getw()
{
return Aweight;
}
int XG::getT()
{
return Ycount;
}
int XG::get()
{
return count;
}
int XG::tg(int c)
{
c=XG::get()+c;
if(c>XG::getT())
{
cout<<"输入有误,请重新输入.."< return 0;
}
else
{
count=c; //这里换成XG::XG(c),就不行了.
return 1;
}
}
int XG::mg(int c)
{
if(c>XG::get())
{
cout<<"输入有误,请重新输入.."< return 0;
}
else
{
c=XG::getT()-c;
count=c; //这里换成XG::XG(c),就不行了.
return 1;
}
}
void main()
{
int c,choice;
float w;
XG*xg;
cout<<"请输入西瓜个数 :";
cin>>c;
cout<<"请输入每个西瓜重量:";
cin>>w;
xg=new XG(c,w);
for(;;)
{
cout<<"请选择:"< <<"--------------------"< <<"<1>卖瓜.."< <<"<2>退瓜.."< <<"<3>收摊.."< cin>>choice;
if(choice==3)
{
cout<<"今天卖了:"<getT()-xg->get()< <<"总重为 :"<<(xg->getT()-xg->get())*(xg->getw())< break;
}
else
switch(choice)
{
case 1:
cout<<"请输入卖瓜的个数:";
do
{
cin>>c;
xg->mg(c);
}while(!(xg->mg(c)));
break;
case 2 :
cout<<"请输入退瓜的个数:";
do
{
cin>>c;
(xg->tg(c));
}while((xg->tg(c)));
}
}
}
这个程序里如果换了重载构造函数来给你count进行重新赋值,却不可以,请问一下问题出在哪里呢?
--------------------next---------------------
阅读(1230) | 评论(0) | 转发(0) |