[c++] privateとprotectedの違い

アクセス指定子には、public, private, protectedがある。

public: すべての範囲からアクセスが可能
private: 同一クラスまたは同一インスタンス内でのみアクセス可能
protected: 同一クラスまたは同一インスタンス内もしくは、サブクラスおよびそのインスタンス内でのみアクセス可能

e.g.

//
protected:
    void TransactionAddedToMempool(const NewMempoolTransactionInfo& tx, uint64_t) override
        EXCLUSIVE_LOCKS_REQUIRED(!m_cs_fee_estimator);
    void TransactionremovedFromMempool(const CTransactionRef& tx, MempoolRemovalReason, uint64_t)
        EXCLUSIVE_LOCKS_REQUIRED(!m_cs_fee_estimator);
    void MempoolTransactionsRemovedForBlock(const std::vector<RemovedMempoolTransactionInfo>& txs_removed_for_block, unsigned int nBlockHeight) override
        EXCLUSIVE_LOCKS_REQUIRED(!m_cs_fee_estimator);