부모 클래스에 형식 가진 생성자를 정의하는 거랑 별개로 디폴트 생성자를 정의해두지 않으면
부모클래스를 상속받은 자식 클래스에서 생성자를 아예 못만들던데
일단 부모클래스에 무조건 디폴트 생성자를 만들어둬야 한다는건 알겠는데
자식클래스에서 생성자를 만들려면 부모클래스의 디폴트 생성자가 반드시 필요한게 어째서 그런지 원리를 모르겠다
설명해줄 갤럼 있음?
부모 클래스에 형식 가진 생성자를 정의하는 거랑 별개로 디폴트 생성자를 정의해두지 않으면
부모클래스를 상속받은 자식 클래스에서 생성자를 아예 못만들던데
일단 부모클래스에 무조건 디폴트 생성자를 만들어둬야 한다는건 알겠는데
자식클래스에서 생성자를 만들려면 부모클래스의 디폴트 생성자가 반드시 필요한게 어째서 그런지 원리를 모르겠다
설명해줄 갤럼 있음?
특정 클래스를 생성할 때 해당 클래스가 유도 클래스라면 자기 자신의 생성자가 실행되기 이전에 기초클래스의 생성자가 먼저 실행됨. C++문법상 형식 생성자가 정의되는 순간 디폴트 생성자(매개변수가 존재하지 않는 생성자)는 따로 정의하지 않는 한 없는 것으로 취급하는데, 이 상태에서 자식클래스의 생성자에서 부모클래스의 생성자에게 매개변수를 전달해 주지 못하면 문제가 생기겠지? 그래서 자식 클래스의 생성자가 실행되었을 때 자동으로 실행될 부모클래스의 매개변수 없는 생성자를 정의하거나, 자식클래스의 생성자에 member initializer를 통해서 형식을 가진 부모클래스의 생성자를 명시적으로 호출해야 하는 걸로 알고 있음
허어 그게 그렇게 돌아가나;;; 암튼 알려줘서 ㄱㅅ 개운하게 오후보낸다