• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

이 강의에 대한 질문은 아닌데 궁금한거 하나 질문드립니다

21.06.03 01:21 작성 조회수 100

1

class Simple

{

private:

int m_id;

public:

Simple(int id)

{

setID(id);

}

void setID(int id) { m_id = id };

int getID() { return m_id };

};

에서 void setID랑 int getID 함수가 Simple 생성자 보다 밑에있는데

public:

Simple(int id)

{

setID(id);

}

이렇게 더 밑에있는 setID(id)를 불러올수있나요?

답변 2

·

답변을 작성해보세요.

3

C언어에서 C++로 넘어오는 과정이신 것 같네요.

C언어에서는 컴파일러가 코드를 위에서 아래로 내려오면서 컴파일하는 방식이기 때문에 코드 순서로 볼 때 미리 선언하지 않은 함수를 사용하려고 하면 알 수 없다면서 오류가 발생했습니다.

C++에서는 컴파일러가 클래스의 멤버 함수들이 어떤 것들이 있는지 먼저 쭉 훑어보고 표를 만들어 놓은 후에 그 다음 컴파일 단계를 진행하기 때문에 코드에서 멤버 함수의 순서가 뒤에 있는 멤버 함수들도 호출해서 사용하실 수 있습니다.

1

it09kim님의 프로필

it09kim

질문자

2021.06.03

빠르고 정확한 답변 감사합니다!