-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
해결됨
이 강의에 대한 질문은 아닌데 궁금한거 하나 질문드립니다
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)를 불러올수있나요?
답변을 작성해보세요.
3
홍정모
지식공유자2021.06.03
C언어에서 C++로 넘어오는 과정이신 것 같네요.
C언어에서는 컴파일러가 코드를 위에서 아래로 내려오면서 컴파일하는 방식이기 때문에 코드 순서로 볼 때 미리 선언하지 않은 함수를 사용하려고 하면 알 수 없다면서 오류가 발생했습니다.
C++에서는 컴파일러가 클래스의 멤버 함수들이 어떤 것들이 있는지 먼저 쭉 훑어보고 표를 만들어 놓은 후에 그 다음 컴파일 단계를 진행하기 때문에 코드에서 멤버 함수의 순서가 뒤에 있는 멤버 함수들도 호출해서 사용하실 수 있습니다.
1
답변 2