Inheritance
Protected Members
Protected members are hidden from callers but available inside derived classes.
Protected Members
protected_members.cpp
#include <iostream>
class Account {
protected:
int balance;
public:
Account(int startingBalance) {
balance = startingBalance;
}
int getBalance() {
return balance;
}
};
class SavingsAccount : public Account {
public:
SavingsAccount(int startingBalance) : Account(startingBalance) {
}
void addInterest(int interest) {
balance += interest;
}
};
int main() {
int startingBalance = ;
int interest = ;
SavingsAccount account(startingBalance);
account.addInterest(interest);
std::cout << "interest=" << interest << std::endl;
std::cout << "balance=" << account.getBalance() << std::endl;
return 0;
}
#include <iostream>
class Account {
protected:
int balance;
public:
Account(int startingBalance) {
balance = startingBalance;
}
int getBalance() {
return balance;
}
};
class SavingsAccount : public Account {
public:
SavingsAccount(int startingBalance) : Account(startingBalance) {
}
void addInterest(int interest) {
balance += interest;
}
};
int main() {
int startingBalance = ;
int interest = ;
SavingsAccount account(startingBalance);
account.addInterest(interest);
std::cout << "interest=" << interest << std::endl;
std::cout << "balance=" << account.getBalance() << std::endl;
return 0;
}
#include <iostream>
class Account {
protected:
int balance;
public:
Account(int startingBalance) {
balance = startingBalance;
}
int getBalance() {
return balance;
}
};
class SavingsAccount : public Account {
public:
SavingsAccount(int startingBalance) : Account(startingBalance) {
}
void addInterest(int interest) {
balance += interest;
}
};
int main() {
int startingBalance = ;
int interest = ;
SavingsAccount account(startingBalance);
account.addInterest(interest);
std::cout << "interest=" << interest << std::endl;
std::cout << "balance=" << account.getBalance() << std::endl;
return 0;
}
#include <iostream>
class Account {
protected:
int balance;
public:
Account(int startingBalance) {
balance = startingBalance;
}
int getBalance() {
return balance;
}
};
class SavingsAccount : public Account {
public:
SavingsAccount(int startingBalance) : Account(startingBalance) {
}
void addInterest(int interest) {
balance += interest;
}
};
int main() {
int startingBalance = ;
int interest = ;
SavingsAccount account(startingBalance);
account.addInterest(interest);
std::cout << "interest=" << interest << std::endl;
std::cout << "balance=" << account.getBalance() << std::endl;
return 0;
}
#include <iostream>
class Account {
protected:
int balance;
public:
Account(int startingBalance) {
balance = startingBalance;
}
int getBalance() {
return balance;
}
};
class SavingsAccount : public Account {
public:
SavingsAccount(int startingBalance) : Account(startingBalance) {
}
void addInterest(int interest) {
balance += interest;
}
};
int main() {
int startingBalance = ;
int interest = ;
SavingsAccount account(startingBalance);
account.addInterest(interest);
std::cout << "interest=" << interest << std::endl;
std::cout << "balance=" << account.getBalance() << std::endl;
return 0;
}
#include <iostream>
class Account {
protected:
int balance;
public:
Account(int startingBalance) {
balance = startingBalance;
}
int getBalance() {
return balance;
}
};
class SavingsAccount : public Account {
public:
SavingsAccount(int startingBalance) : Account(startingBalance) {
}
void addInterest(int interest) {
balance += interest;
}
};
int main() {
int startingBalance = ;
int interest = ;
SavingsAccount account(startingBalance);
account.addInterest(interest);
std::cout << "interest=" << interest << std::endl;
std::cout << "balance=" << account.getBalance() << std::endl;
return 0;
}
#include <iostream>
class Account {
protected:
int balance;
public:
Account(int startingBalance) {
balance = startingBalance;
}
int getBalance() {
return balance;
}
};
class SavingsAccount : public Account {
public:
SavingsAccount(int startingBalance) : Account(startingBalance) {
}
void addInterest(int interest) {
balance += interest;
}
};
int main() {
int startingBalance = ;
int interest = ;
SavingsAccount account(startingBalance);
account.addInterest(interest);
std::cout << "interest=" << interest << std::endl;
std::cout << "balance=" << account.getBalance() << std::endl;
return 0;
}
#include <iostream>
class Account {
protected:
int balance;
public:
Account(int startingBalance) {
balance = startingBalance;
}
int getBalance() {
return balance;
}
};
class SavingsAccount : public Account {
public:
SavingsAccount(int startingBalance) : Account(startingBalance) {
}
void addInterest(int interest) {
balance += interest;
}
};
int main() {
int startingBalance = ;
int interest = ;
SavingsAccount account(startingBalance);
account.addInterest(interest);
std::cout << "interest=" << interest << std::endl;
std::cout << "balance=" << account.getBalance() << std::endl;
return 0;
}
#include <iostream>
class Account {
protected:
int balance;
public:
Account(int startingBalance) {
balance = startingBalance;
}
int getBalance() {
return balance;
}
};
class SavingsAccount : public Account {
public:
SavingsAccount(int startingBalance) : Account(startingBalance) {
}
void addInterest(int interest) {
balance += interest;
}
};
int main() {
int startingBalance = ;
int interest = ;
SavingsAccount account(startingBalance);
account.addInterest(interest);
std::cout << "interest=" << interest << std::endl;
std::cout << "balance=" << account.getBalance() << std::endl;
return 0;
}
protected
A `protected` member can be used by the class itself and by classes derived from it.