注册 登录
编程论坛 C++教室

怎么改进这个程序

jjg 发布于 2009-11-16 08:37, 620 次点击
#include <iostream>
#include <string>
using namespace std;
class user
{
   
    double money;
    string name;
   
public:
    void add(double& mey)
    {
        money=money+mey;
        cout<<money;
    }

    user(string Name,double Money);
};
user::user(string Name,double Money)
{
    name=Name;
    money=Money;
    cout<<"please input the user's name and money:"<<name<<"  "<<money<<endl;
   
}

void main()
{
    user a("li",100);
    double mey;
    cout<<"input the number you want deposit"<<endl;
    cin>>mey;
      a.add(double& mey);//加上这句话就有错误,怎么改进实现加,且使他不出错
}
4 回复
#2
ssdj1392009-11-16 10:31
回复 楼主 jjg
调用函数应该是a.add(mey)
#3
平凡不在2009-11-16 13:55
最后一句应该为a.add(mey);
#4
我有个梦2009-11-16 15:46
这里是对引用的操作出了问题
void add(double& mey)
{ }
此函数的形参被定义成一个引用,是值传递的过程,所以调用此函数时,直接传递一个值就可以了。
引用经常做函数的参数使用,来解决大块数据或对象的传递效率和空间不如意的问题。
以下是引用作为函数参数使用的例子:
void swap(int &p1, int &p2) //此处函数的形参p1, p2都是引用
{ int p; p=p1; p1=p2; p2=p; }

为在程序中调用该函数,则相应的主调函数的调用点处,直接以变量作为实参进行调用即可,而不需要实参变量有任何的特殊要求。如:对应上面定义的swap函数,相应的主调函数可写为:

main( )
{
int a,b;
cin>>a>>b; //输入a,b两变量的值
swap(a,b); //直接以变量a和b作为实参调用swap函数
cout<<a<< ' ' <<b; //输出结果
}

#5
jjg2009-11-16 17:33
谢谢了
1