protected constructor1 [C++] 디자인패턴 : protected constructor C++ 디자인 패턴 : protected constructor (protected생성자) 생성자의 정확한 호출 순서를 이해해야 한다. 1. Dog의 생성자가 먼저 호출된다. (Dog d; 에 의해 호출됨) 2. Dog의 생성자 안에서 기반 클래스인 Animal의 생성자를 호출한다. class Animal { protected: Animal() {} }; class Dog : public Animal { public: Dog() {} // Dog() : Animal() {} }; int main() { Animal a; // error Dog d; // ok. } 생성자를 protected에 만드는 이유? - 자기 자신(Animal)을 만들 수는 없다. - 하지만 파생 클래스(Dog)의 객체는 만들 수 있.. 2022. 1. 27. 이전 1 다음