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.