以下为一个atm程序设计:谁能给改一下使可以从键盘创建用户??由于太长ATM类放到补充中。// * function.h *#include<iostream.h>class consumer;class ATM// ATM取款机{public:ATM(consumer& cn):cnsm(cn){}void welcome();// 登陆界面bool check_passwd(char n[],char pwd[]);// 核对密码void change_passwd();// 修改密码void fetchmoney();// 取款void information();// 查询信息void exitATM();// 退出系统void functionshow();// 功能界面void lock();// 锁机private:int times;// 记录密码输入次数consumer& cnsm;};class consumer// 用户{public:friend class ATM;consumer(char Name[],char Num[],float Money,char Password[]);protected:char* get_name();// 取得姓名char* get_num();// 取得卡号char* get_passwd();// 取得密码float get_money();// 取得余额void set_passwd(char pwd[]);// 设置密码void set_money(float m);// 取钱private:char passwd[8];// 用户密码char name[20];// 用户姓名char num[20];float money;};// * consumer类的成员函数 *#include"function.h"#include<string.h>consumer::consumer(char Name[],char Num[],float Money,char Password[]){strcpy(name,Name);strcpy(num,Num);money=Money;strcpy(passwd,Password);}float consumer::get_money(){return money;}char* consumer::get_name(){return name;}char* consumer::get_num(){return num;}char* consumer::get_passwd(){return passwd;}void consumer::set_money(float m){money-=m;}void consumer::set_passwd(char pwd[]){strcpy(passwd,pwd);}// * ATM.cpp *#include<iostream.h>#include"function.h"void main(){consumer c1("jim","12345",5200.3f,"123");// 先构造一个用户ATM atm(c1);atm.welcome();}
參考答案:在用户类中创建一个带参数的构造函数
此函数用来创建新用户
通过拷贝构造函数将键盘输入的数据引用到构造函数中
通过引用构造函数创建用户