Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2341314
  • 博文数量: 816
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5010
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-17 17:57
文章分类

全部博文(816)

文章存档

2011年(1)

2008年(815)

分类:

2008-12-17 18:07:37

#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---------------------

阅读(1224) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~