fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. class Account {
  5. protected:
  6. string accountholder;
  7. int accountnumber;
  8. double balance;
  9. public:
  10. Account() {}
  11. Account(string holder, int number, double bal) {
  12. accountholder = holder;
  13. accountnumber = number;
  14. balance = bal;
  15. }
  16. void deposit(double am) {
  17. if (am > 0) {
  18. balance += am;
  19. cout << "Deposit: " << am << ". New balance: " << balance << endl;
  20. } else {
  21. cout << "Invalid deposit amount.\n";
  22. }
  23. }
  24. void withdraw(double a) {
  25. if (a <= balance) {
  26. balance -= a;
  27. cout << "Withdraw: " << a << ". New balance: " << balance << endl;
  28. } else {
  29. cout << "Insufficient balance.\n";
  30. }
  31. }
  32. void display() {
  33. cout << "Account Holder: " << accountholder
  34. << "\nAccount number: " << accountnumber
  35. << "\nAccount balance: " << balance << endl;
  36. }
  37. Account operator+(Account obj) {
  38. Account t("NO name", 0, balance + obj.balance);
  39. return t;
  40. }
  41. bool operator>(Account obj) {
  42. return balance > obj.balance;
  43. }
  44. double getbalance() {
  45. return balance;
  46. }
  47. string getname() {
  48. return accountholder;
  49. }
  50. };
  51.  
  52. class Savingaccount : public Account {
  53. private:
  54. double irate;
  55. public:
  56. Savingaccount(string name, int nm, double b, double rate)
  57. : Account(name, nm, b) {
  58. irate = rate;
  59. }
  60. void addinterest() {
  61. double interest = (balance * irate) / 100;
  62. balance += interest;
  63. cout << "Interest: " << irate << "% added. New balance: " << balance << endl;
  64. }
  65. void display() {
  66. cout << "\nSaving Account:"
  67. << "\nAccount Holder: " << accountholder
  68. << "\nAccount number: " << accountnumber
  69. << "\nAccount balance: " << balance << endl;
  70. }
  71. };
  72.  
  73. int main() {
  74. Account a1("Sammo", 10000, 4500.56);
  75. Account a2("Tithi", 4563, 23400.54);
  76.  
  77. cout << "Basic Accounts:\n";
  78. a1.display();
  79. a2.display();
  80.  
  81. a1.deposit(3000);
  82. a2.withdraw(3490);
  83. if(a1 > a2) cout << "a1" << endl;
  84. else cout << "a2" << endl;
  85. Account add;
  86. add = a1+a1;
  87. add.display();
  88. Savingaccount s1("Sajib", 12345, 5000, 5);
  89. s1.addinterest();
  90. s1.display();
  91. }
  92.  
Success #stdin #stdout 0.01s 5288KB
stdin
Standard input is empty
stdout
Basic Accounts:
Account Holder: Sammo
Account number: 10000
Account balance: 4500.56
Account Holder: Tithi
Account number: 4563
Account balance: 23400.5
Deposit: 3000. New balance: 7500.56
Withdraw: 3490. New balance: 19910.5
a2
Account Holder: NO name
Account number: 0
Account balance: 15001.1
Interest: 5% added. New balance: 5250

Saving Account:
Account Holder: Sajib
Account number: 12345
Account balance: 5250