#include <bits/stdc++.h>
using namespace std;
class Account {
protected:
string accountholder;
int accountnumber;
double balance;
public:
Account() {}
Account(string holder, int number, double bal) {
accountholder = holder;
accountnumber = number;
balance = bal;
}
void deposit(double am) {
if (am > 0) {
balance += am;
cout << "Deposit: " << am << ". New balance: " << balance << endl;
} else {
cout << "Invalid deposit amount.\n";
}
}
void withdraw(double a) {
if (a <= balance) {
balance -= a;
cout << "Withdraw: " << a << ". New balance: " << balance << endl;
} else {
cout << "Insufficient balance.\n";
}
}
void display() {
cout << "Account Holder: " << accountholder
<< "\nAccount number: " << accountnumber
<< "\nAccount balance: " << balance << endl;
}
Account operator+(Account obj) {
Account t("NO name", 0, balance + obj.balance);
return t;
}
bool operator>(Account obj) {
return balance > obj.balance;
}
double getbalance() {
return balance;
}
string getname() {
return accountholder;
}
};
class Savingaccount : public Account {
private:
double irate;
public:
Savingaccount(string name, int nm, double b, double rate)
: Account(name, nm, b) {
irate = rate;
}
void addinterest() {
double interest = (balance * irate) / 100;
balance += interest;
cout << "Interest: " << irate << "% added. New balance: " << balance << endl;
}
void display() {
cout << "\nSaving Account:"
<< "\nAccount Holder: " << accountholder
<< "\nAccount number: " << accountnumber
<< "\nAccount balance: " << balance << endl;
}
};
int main() {
Account a1("Sammo", 10000, 4500.56);
Account a2("Tithi", 4563, 23400.54);
cout << "Basic Accounts:\n";
a1.display();
a2.display();
a1.deposit(3000);
a2.withdraw(3490);
if(a1 > a2) cout << "a1" << endl;
else cout << "a2" << endl;
Account add;
add = a1+a1;
add.display();
Savingaccount s1("Sajib", 12345, 5000, 5);
s1.addinterest();
s1.display();
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpjbGFzcyBBY2NvdW50IHsKcHJvdGVjdGVkOgogICAgc3RyaW5nIGFjY291bnRob2xkZXI7CiAgICBpbnQgYWNjb3VudG51bWJlcjsKICAgIGRvdWJsZSBiYWxhbmNlOwpwdWJsaWM6CiAgICBBY2NvdW50KCkge30gCiAgICBBY2NvdW50KHN0cmluZyBob2xkZXIsIGludCBudW1iZXIsIGRvdWJsZSBiYWwpIHsKICAgICAgICBhY2NvdW50aG9sZGVyID0gaG9sZGVyOwogICAgICAgIGFjY291bnRudW1iZXIgPSBudW1iZXI7CiAgICAgICAgYmFsYW5jZSA9IGJhbDsKICAgIH0KICAgIHZvaWQgZGVwb3NpdChkb3VibGUgYW0pIHsKICAgICAgICBpZiAoYW0gPiAwKSB7CiAgICAgICAgICAgIGJhbGFuY2UgKz0gYW07CiAgICAgICAgICAgIGNvdXQgPDwgIkRlcG9zaXQ6ICIgPDwgYW0gPDwgIi4gTmV3IGJhbGFuY2U6ICIgPDwgYmFsYW5jZSA8PCBlbmRsOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGNvdXQgPDwgIkludmFsaWQgZGVwb3NpdCBhbW91bnQuXG4iOwogICAgICAgIH0KICAgIH0KICAgIHZvaWQgd2l0aGRyYXcoZG91YmxlIGEpIHsKICAgICAgICBpZiAoYSA8PSBiYWxhbmNlKSB7CiAgICAgICAgICAgIGJhbGFuY2UgLT0gYTsKICAgICAgICAgICAgY291dCA8PCAiV2l0aGRyYXc6ICIgPDwgYSA8PCAiLiBOZXcgYmFsYW5jZTogIiA8PCBiYWxhbmNlIDw8IGVuZGw7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY291dCA8PCAiSW5zdWZmaWNpZW50IGJhbGFuY2UuXG4iOwogICAgICAgIH0KICAgIH0KICAgIHZvaWQgZGlzcGxheSgpIHsKICAgICAgICBjb3V0IDw8ICJBY2NvdW50IEhvbGRlcjogIiA8PCBhY2NvdW50aG9sZGVyCiAgICAgICAgICAgICA8PCAiXG5BY2NvdW50IG51bWJlcjogIiA8PCBhY2NvdW50bnVtYmVyCiAgICAgICAgICAgICA8PCAiXG5BY2NvdW50IGJhbGFuY2U6ICIgPDwgYmFsYW5jZSA8PCBlbmRsOwogICAgfQogICAgQWNjb3VudCBvcGVyYXRvcisoQWNjb3VudCBvYmopIHsKICAgICAgICBBY2NvdW50IHQoIk5PIG5hbWUiLCAwLCBiYWxhbmNlICsgb2JqLmJhbGFuY2UpOwogICAgICAgIHJldHVybiB0OwogICAgfQogICAgYm9vbCBvcGVyYXRvcj4oQWNjb3VudCBvYmopIHsKICAgICAgICByZXR1cm4gYmFsYW5jZSA+IG9iai5iYWxhbmNlOwogICAgfQogICAgZG91YmxlIGdldGJhbGFuY2UoKSB7CiAgICAgICAgcmV0dXJuIGJhbGFuY2U7CiAgICB9CiAgICBzdHJpbmcgZ2V0bmFtZSgpIHsKICAgICAgICByZXR1cm4gYWNjb3VudGhvbGRlcjsKICAgIH0KfTsKCmNsYXNzIFNhdmluZ2FjY291bnQgOiBwdWJsaWMgQWNjb3VudCB7CnByaXZhdGU6CiAgICBkb3VibGUgaXJhdGU7CnB1YmxpYzoKICAgIFNhdmluZ2FjY291bnQoc3RyaW5nIG5hbWUsIGludCBubSwgZG91YmxlIGIsIGRvdWJsZSByYXRlKQogICAgICAgIDogQWNjb3VudChuYW1lLCBubSwgYikgewogICAgICAgIGlyYXRlID0gcmF0ZTsKICAgIH0KICAgIHZvaWQgYWRkaW50ZXJlc3QoKSB7CiAgICAgICAgZG91YmxlIGludGVyZXN0ID0gKGJhbGFuY2UgKiBpcmF0ZSkgLyAxMDA7CiAgICAgICAgYmFsYW5jZSArPSBpbnRlcmVzdDsKICAgICAgICBjb3V0IDw8ICJJbnRlcmVzdDogIiA8PCBpcmF0ZSA8PCAiJSBhZGRlZC4gTmV3IGJhbGFuY2U6ICIgPDwgYmFsYW5jZSA8PCBlbmRsOwogICAgfQogICAgdm9pZCBkaXNwbGF5KCkgewogICAgICAgIGNvdXQgPDwgIlxuU2F2aW5nIEFjY291bnQ6IgogICAgICAgICAgICAgPDwgIlxuQWNjb3VudCBIb2xkZXI6ICIgPDwgYWNjb3VudGhvbGRlcgogICAgICAgICAgICAgPDwgIlxuQWNjb3VudCBudW1iZXI6ICIgPDwgYWNjb3VudG51bWJlcgogICAgICAgICAgICAgPDwgIlxuQWNjb3VudCBiYWxhbmNlOiAiIDw8IGJhbGFuY2UgPDwgZW5kbDsKICAgIH0KfTsKCmludCBtYWluKCkgewogICAgQWNjb3VudCBhMSgiU2FtbW8iLCAxMDAwMCwgNDUwMC41Nik7CiAgICBBY2NvdW50IGEyKCJUaXRoaSIsIDQ1NjMsIDIzNDAwLjU0KTsKCiAgICBjb3V0IDw8ICJCYXNpYyBBY2NvdW50czpcbiI7CiAgICBhMS5kaXNwbGF5KCk7CiAgICBhMi5kaXNwbGF5KCk7CgkKCWExLmRlcG9zaXQoMzAwMCk7CglhMi53aXRoZHJhdygzNDkwKTsKCWlmKGExID4gYTIpIGNvdXQgPDwgImExIiA8PCBlbmRsOwoJZWxzZSBjb3V0IDw8ICJhMiIgPDwgZW5kbDsKCUFjY291bnQgYWRkOwoJYWRkID0gYTErYTE7CglhZGQuZGlzcGxheSgpOwogICAgU2F2aW5nYWNjb3VudCBzMSgiU2FqaWIiLCAxMjM0NSwgNTAwMCwgNSk7CiAgICBzMS5hZGRpbnRlcmVzdCgpOwogICAgczEuZGlzcGxheSgpOwp9Cg==