永发信息网

关于c++构造函数的问题,如何将用户的输入作为构造函数的初值呢?

答案:4  悬赏:80  手机版
解决时间 2021-03-16 03:56
例如:
#include<iostream>
using namespace std;

class CMoney
{
public:
SetValue(int Yuan,int Jiao,int Fen)
{
m_nYuan=Yuan;
m_nJiao=Jiao;
m_nFen =Fen ;
}
private:
int m_nYuan,int m_nJiao,int m_nFen;
};
int main()
{
CMoney Money;
int m_nYuan,m_nJiao,m_nFen;
SetValue M1;
cout<<"无参构造函数被调用";
//想在这里调用一个有参构造函数,以用户输入的元角分作为初始值
}
最佳答案
#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;
    }
};
int main()
{
    int yuan,jiao,fen;
    cout<<"请输入元、角、分"<<endl;
    cin>>yuan>>jiao>>fen;
    CMoney Money=CMoney(yuan,jiao,fen); //显示地调用构造函数
    CMoney Money(yuan,jiao,fen); //也可以用这种方法,隐式地调用构造函数
    return 0;
}
全部回答
#include<iostream> using namespace std; class CMoney { public: CMoney(int Yuan,int Jiao,int Fen) { SetValue(Yuan, Jiao, Fen); } private: SetValue(int Yuan,int Jiao,int Fen) { m_nYuan=Yuan; m_nJiao=Jiao; m_nFen =Fen ; } int m_nYuan,int m_nJiao,int m_nFen; }; int main() { int nYuan, nJiao, nFen; cout<<"无参构造函数被调用"; //想在这里调用一个有参构造函数,以用户输入的元角分作为初始值 cin >> nYuan; cin >> nJiao; cin>>nFen; CMoney Money(nYuan, nJiao, nFen); }
#include<iostream> using namespace std; class CMoney { public: CMoney() { cout<<"请输入元角分"<<endl; cin>>m_nYuan; cin>>m_nJiao; cin>>m_nFen; } private: int m_nYuan, m_nJiao, m_nFen; }; int main() { CMoney Money; cout<<"无参构造函数被调用"; }

函数声明,只是告诉下面的程序有这样的一个函数存在,函数定义就是实现这个函数的功能,如果在用到这个函数进行定义,就可以不用函数声明了,

举个例子:

void fun(); //这里就是函数声明,

void main();

{

    fun(); //要使用fun这个函数,因为前面个声明,所以编译器会往下找,如果前面没声明的话,就会报错

}

void fun()   //这里就是函数定义,功能就是打印一个字符串

{

printf("hello");

}

也可以不要声明,在使用前面直接定义,如下:

void fun()   //这里就是函数定义,功能就是打印一个字符串

{

printf("hello");

}

void main();

{

    fun(); //因为前面有定义,所以不会报错

}

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
拱和地址在什么地方,想过去办事
不小心开通了蚂蚁花呗怎么办?会不会扣利息?
家家悦超市提货单?
戴尔台式机 开机显示 F1 F2 按F1没反应 按F2
新款威驰车后备箱上面的饰条是粘上去的好还是
五台山飞机场往返重庆的航班每天有几架次
GIA中国鉴定
村沈线地址在哪,我要去那里办事
我可以自己个人去参加吗
oracle锁什么情况下释放
小牛m1后面可以坐人吗
中国移动后面怎么多出来一个cmcc这是怎么回事
我想知道背新概念有用吗?
旧伤未去新伤又来的词语是或成语什么?
delphi 语句a:=strtofloatdef('edit3.te
推荐资讯
天津明德实训是个怎么样的公司大家来看 是骗
锌和氧气反应生成氧化锌,设计成原电池,求正
吉林博大东方房地产评估咨询有限公司这个地址
超车过程中减档加速应该怎样正确操作
起锚汽车美容装潢在什么地方啊,我要过去处理
求热血传奇各地图(大)都刷什么怪?爆什么东
be good to, be good at, be good with 的区
欧罗巴地址在什么地方,想过去办事
sharp中文是什么意思
国家电网伊敏供电局红花尔基供电所地址在什么
如何编写并提交 批处理文件
大学城南二门(人行门)在什么地方啊,我要过去
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?