类,构造函数,成员函数,数据成员

 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
";
22         }
23     }
24     void credit(float saveMoney)
25     {
26         balance += saveMoney;
27     }
28     void debit(float withMoney)
29     {
30         if(withMoney > balance)
31             cout<<"余额不足
";
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取钱
";
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 }
原文地址:https://www.cnblogs.com/wangchaomahan/p/9838204.html