类,构造函数,成员函数,数据成员
1 #include <iostream> 2 using namespace std; 3 /* 4 创建一个Account类,银行可以使用它表示客户的银行账户。这个类应该包含一个类型为float的数据成员,表示账户余额 5 这个类必须提供一个构造函数,它接受初始余额,并且用它初始化数据成员。这个构造函数应当确认初始余额的有效性,保证 6 它大于或等于0.否则余额应当设置为0.并且构造函数必须显示一条错误信息,指出初始余额是无效的。该类还要提供三个成员 7 函数。成员函数credit将一笔金额加到当前余额中。debit将从这个Account中取钱,并且保证金额不会超过Account的余额。 8 如果不是这样,将打印一条消息:余额不足。成员函数getbalance将返回当前余额。编写一个测试程序,它创建2个Account对象 9 ,并测试Account类的函数。 10 */ 11 class Account 12 { 13 public: 14 /*explicit*/ Account(float init) 15 { 16 if(init >= 0) 17 balance = init; 18 else 19 { 20 balance = 0; 21 cout <<"error ,账户初始金额不能为负,现已自动将初始金额调整为0\n"; 22 } 23 } 24 void credit(float saveMoney) 25 { 26 balance += saveMoney; 27 } 28 void debit(float withMoney) 29 { 30 if(withMoney > balance) 31 cout<<"余额不足\n"; 32 else 33 balance -= withMoney; 34 } 35 float getbalance() 36 { 37 return balance; 38 } 39 private: 40 float balance; 41 }; 42 void menu() 43 { 44 Account a(-1),b(2); 45 cout<<"a的余额 = "<<a.getbalance()<<endl; 46 cout<<"b的余额 = "<<b.getbalance()<<endl; 47 int i; 48 float j; 49 char ch; 50 //为了简化程序就不做输入错误判断了 51 cout<<"请选择您的操作:1.存钱,2取钱\n"; 52 cin>>i; 53 if(1 == i) 54 { 55 cout<<"请输入存款人姓名:"; 56 cin>>ch; 57 cout<<"请输入存入金额:"; 58 cin>>j; 59 if('a' == ch) 60 a.credit(j); 61 if('b' == ch) 62 b.credit(j); 63 } 64 if(2 == i) 65 { 66 cout<<"请输入取款人姓名:"; 67 cin>>ch; 68 cout<<"请输入取出金额:"; 69 cin>>j; 70 if('a' == ch) 71 a.debit(j); 72 if('b' == ch) 73 b.debit(j); 74 } 75 cout<<"a的余额 = "<<a.getbalance()<<endl; 76 cout<<"b的余额 = "<<b.getbalance()<<endl; 77 } 78 int main(void) 79 { 80 menu(); 81 return 0; 82 }