>  기사  >  백엔드 개발  >  멤버 함수가 오버로드될 수 있나요?

멤버 함수가 오버로드될 수 있나요?

青灯夜游
青灯夜游원래의
2020-07-17 10:31:185908검색

멤버 함수는 오버로드될 수 있지만 멤버 함수는 이 클래스의 다른 멤버 함수만 오버로드할 수 있습니다. 클래스의 멤버 함수는 일반적인 비멤버 함수 및 다른 클래스에서 선언된 함수와 관련이 없으며 오버로드될 수 없습니다.

멤버 함수가 오버로드될 수 있나요?

멤버 함수는 오버로드될 수 있습니다.

멤버 함수는 이 클래스의 다른 멤버 함수만 오버로드할 수 있습니다. 클래스의 멤버 함수는 일반적인 비멤버 함수 및 다른 클래스에서 선언된 함수와 관련이 없으며 오버로드될 수 없습니다. 일반 함수와 마찬가지로 오버로드된 멤버 함수에도 동일한 규칙이 적용됩니다. 오버로드된 두 멤버의 형식 매개 변수 수와 유형은 정확히 동일할 수 없습니다. 비멤버 오버로드 함수 호출에 사용되는 함수 일치 프로세스는 오버로드된 멤버 함수 호출에도 적용됩니다.

오버로드된 멤버 함수 정의

오버로드를 설명하기 위해 Screen 클래스의 오버로드된 멤버 두 개를 제공하여 창에서 특정 문자를 반환할 수 있습니다. 두 개의 오버로드된 멤버 중 한 버전은 현재 커서가 나타내는 문자를 반환하고 다른 버전은 지정된 행과 열의 문자를 반환합니다.

class Screen {
public:
typedef std::string::size_type index;
// return character at the cursor or at a given position
char get() const { return contents[cursor]; }
char get(index ht, index wd) const;
// remaining members
private:
std::string contents;
index cursor;
index height, width;
};

오버로드된 함수와 마찬가지로 지정된 인수에 적절한 수와 유형의 인수를 제공합니다. 함수 호출을 실행할 버전을 선택하려면:

Screen myscreen;
char ch = myscreen.get();// calls Screen::get()
ch = myscreen.get(0,0); // calls Screen::get(index, index)

추천 튜토리얼: "c++ 비디오 튜토리얼"

위 내용은 멤버 함수가 오버로드될 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.