为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C++
汪汪一只猫 2022-12-16 17:13:12
#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;}
查看完整描述

2 回答

?
HUWWW

TA贡献1874条经验 获得超12个赞

局部变量与类的成员变量同名了。换个名字:


void SetValue(int Yuan,int Jiao,int Fen){    if(Fen > 9){        Jiao += Fen/10;        Fen %= 10;    }    if(Jiao>9){        Yuan += Jiao/10;        Jiao %= 10;    }    *this = CMoney(Yuan, Jiao, Fen);}


查看完整回答
反对 回复 2022-12-21
?
白衣非少年

TA贡献1155条经验 获得超0个赞

#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()    {        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();    M2.Show();     return 0;}

SetValue()函数没必要再设置参数了

 


查看完整回答
反对 回复 2022-12-21
  • 2 回答
  • 0 关注
  • 120 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信