想请教下为什么代码中的setvalue函数调用后没有起作用?

#include<iostream>
using namespace std;

class CMoney
{
private:
int m_nYuan,m_nJiao,m_nFen;
public:
CMoney(int Yuan,int Jiao,int Fen)
{
m_nYuan=Yuan;
m_nJiao=Jiao;
m_nFen =Fen ;
}
CMoney()
{
m_nYuan=0;
m_nJiao=0;
m_nFen =0;
}

void SetValue(int m_nYuan,int m_nJiao,int m_nFen)
{
if(m_nFen>9){
m_nJiao+=m_nFen/10;
m_nFen=m_nFen%10;
}
if(m_nJiao>9){
m_nYuan+=m_nJiao/10;
m_nJiao=m_nJiao%10;
}
}
int GetYuan(){return m_nYuan;}
int GetJiao(){return m_nJiao;}
int GetFen (){return m_nFen; }
void Show()
{
cout<<GetYuan()<<'\t'<<GetJiao()<<'\t'<<GetFen()<<endl;
}
};
int main()
{

cout<<"无参构造函数被调用"<<endl;
CMoney M1;
M1.Show();

int yuan,jiao,fen;
cout<<"请输入元、角、分:";
cin>>yuan>>jiao>>fen;
CMoney M2(yuan,jiao,fen);
M2.SetValue(yuan,jiao,fen);
M2.Show();

return 0;
}

汪汪一只猫
浏览 121回答 2
2回答

HUWWW

局部变量与类的成员变量同名了。换个名字:void&nbsp;SetValue(int&nbsp;Yuan,int&nbsp;Jiao,int&nbsp;Fen){&nbsp;&nbsp;&nbsp;&nbsp;if(Fen&nbsp;>&nbsp;9){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Jiao&nbsp;+=&nbsp;Fen/10;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fen&nbsp;%=&nbsp;10;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;if(Jiao>9){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Yuan&nbsp;+=&nbsp;Jiao/10;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Jiao&nbsp;%=&nbsp;10;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;*this&nbsp;=&nbsp;CMoney(Yuan,&nbsp;Jiao,&nbsp;Fen);}

白衣非少年

#include<iostream>using&nbsp;namespace&nbsp;std;&nbsp;class&nbsp;CMoney{&nbsp;&nbsp;&nbsp;&nbsp;private:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;m_nYuan,m_nJiao,m_nFen;&nbsp;&nbsp;&nbsp;&nbsp;public:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CMoney(int&nbsp;Yuan,int&nbsp;Jiao,int&nbsp;Fen)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_nYuan=Yuan;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_nJiao=Jiao;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_nFen&nbsp;=Fen&nbsp;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CMoney()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_nYuan=0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_nJiao=0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_nFen&nbsp;=0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;SetValue()&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(m_nFen>9)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_nJiao+=m_nFen/10;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_nFen=m_nFen%10;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(m_nJiao>9)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_nYuan+=m_nJiao/10;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_nJiao=m_nJiao%10;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;GetYuan(){return&nbsp;m_nYuan;}&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;GetJiao(){return&nbsp;m_nJiao;}&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;GetFen&nbsp;(){return&nbsp;m_nFen;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;Show()&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout<<GetYuan()<<'\t'<<GetJiao()<<'\t'<<GetFen()<<endl;&nbsp;&nbsp;&nbsp;&nbsp;}};int&nbsp;main(){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout<<"无参构造函数被调用"<<endl;&nbsp;&nbsp;&nbsp;&nbsp;CMoney&nbsp;M1;&nbsp;&nbsp;&nbsp;&nbsp;M1.Show();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;yuan,jiao,fen;&nbsp;&nbsp;&nbsp;&nbsp;cout<<"请输入元、角、分:";&nbsp;&nbsp;&nbsp;&nbsp;cin>>yuan>>jiao>>fen;&nbsp;&nbsp;&nbsp;&nbsp;CMoney&nbsp;M2(yuan,jiao,fen);&nbsp;&nbsp;&nbsp;&nbsp;M2.SetValue();&nbsp;&nbsp;&nbsp;&nbsp;M2.Show();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;0;}SetValue()函数没必要再设置参数了&nbsp;
打开App,查看更多内容
随时随地看视频慕课网APP