Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

생성자/소멸자를 기반으로 한 C++ 인터뷰 질문

<시간/>

생성자에 대한 C++ 인터뷰 질문

생성자란 무엇입니까?

생성자 클래스와 이름이 같은 클래스의 함수입니다. 생성자는 객체를 초기화할 때 호출됩니다. 생성자에는 세 가지 유형이 있습니다 -

  • 기본 생성자
  • 매개변수화된 생성자
  • 복사 생성자

구문

class cl_name{
   cl_name(){
      //This is constructor..
   }
}

소멸자란 무엇입니까?

소멸자 틸드 ~가 앞에 오는 클래스와 이름이 같은 클래스의 메소드입니다. 상징. 코드 끝 또는 개체가 파괴되거나 범위를 벗어날 때 호출됩니다.

구문

class cl_name{
   ~ cl_name(){} //destructor
}

생성자의 용도는 무엇입니까?

생성자는 클래스와 이름이 같은 메서드입니다. 그리고 생성자의 사용은 new 키워드.

객체가 생성될 때 변수는 초기화된 메모리 청크와 기본 값이 있는 경우 기본 값입니다.

소멸자의 용도는 무엇입니까?

소멸자는 ~ 기호 앞에 오는 클래스와 이름이 같은 메서드입니다. 소멸자의 사용은 코드가 개체 범위를 벗어나거나 delete 키워드를 사용하여 삭제된 메모리 청크를 할당 해제하는 것입니다. .

객체가 삭제되면 소멸자가 호출되고 객체가 생성될 때 생성된 모든 메모리 블록의 할당이 해제됩니다.

C++에서 생성자 실행 순서는 무엇입니까?

생성자는 클래스의 객체가 생성될 때 호출됩니다. 생성자가 호출되는 순서는 상속의 계층 구조와 동일합니다. 즉, 먼저 기본 클래스의 개체가 호출된 다음 하위 클래스의 개체가 호출되는 식입니다.

C++에서 소멸자 실행 순서는 무엇입니까?

소멸자는 생성자와 역순으로 호출되며 클래스의 개체가 삭제될 때 호출됩니다. 소멸자가 호출되는 순서는 상속 계층 구조와 반대입니다. 즉, 자식 클래스의 객체가 먼저 소멸된 다음 부모 클래스의 객체가 소멸되는 방식입니다.

다른 생성자를 생성해도 기본 생성자는 생성되나요?

프로그래머가 명시적으로 생성자를 정의하지 않으면 생성자는 기본적으로 컴파일러에 의해 생성됩니다. 프로그래머가 생성자를 정의하면 컴파일러는 작업을 보유하고 아무 것도 정의하지 않습니다.