우리는 3 개의 클래스가 있다고 가정 해 봅시다 : 부모, 자식 및 기타.기본 소멸자가 클래스에 충분할 때?
class Parent: {
public:
Parent(std::string title): m_title(title) { }
void setTitle (std::string title);
private:
std::string m_title;
};
class Child: public Parent {
public:
Child(std::string title) { setTitle(title); }
private:
Other object;
};
class Other {
public:
Other() : m_body("") { }
std::string body();
void setBody(std::string);
private:
std::string m_body;
};
이 모든 클래스에 기본 소멸자를 사용할 수 있습니까?
필자는 메모리를 수동으로 할당하지 않기 때문에 메모리 할당을 신경 쓰지 않아도됩니다.
큰 질문 : 기본 소멸자가 충분할 때 일반적인 규칙이 있습니까?
생성자에서 명시 적으로 항목을 만들거나 할당하는 경우 소멸자에서 삭제하거나 해제해야합니다. 예제에서는 소멸자가 필요 없으므로 여기에서는 그렇게하지 않습니다. –
어쨌든'Child' 클래스에서 생성자에 대한 초기화 자 목록을 사용할 수 있습니다 :'Child (std :: string title) : Parent (title) {}' –
거기에서 메모리 할당의 관점에서 생성자를 정의 할 필요가 없습니다. – user2672165