http://www.kab-studio.biz/Programing/Codian/Cpp/06.html 良い感じの解説サイトがあったから、これ読んでみることをオススメする。 要は、そのクラスを継承専用のクラスってことにして、 外部の関数から直接インスタンスを生成してほしくない時に使う。 #include <iostream> class Base{ protected: Base(){ std::cout << "Base C" << std::endl; } }; class Sub : public Base{ public: Sub(){ std::cout << "Sub C" << std::endl; } }; int main(){ //Base ins_base; Sub ins_sub; return 0; } 例えばこんな感じ。 Base base;の部分のコメ