[c++] 구조체와 클래스의 멤버 함수의 오버로딩
C++에서는 구조체(struct)와 클래스(class)를 사용하여 데이터를 구조화하고 캡슐화할 수 있습니다.
구조체(struct)의 멤버 함수 오버로딩
구조체의 멤버 함수를 오버로딩하려면 C++11 표준 이전에는 멤버 함수를 정의할 수 없었습니다. 그러나 C++11 표준 이후로 구조체에도 멤버 함수를 정의할 수 있게 되었습니다. 구조체의 멤버 함수 오버로딩은 다음과 같이 작성할 수 있습니다.
struct MyStruct {
void display() {
// 구조체 멤버 함수 구현
}
void display(int x) {
// 오버로딩된 멤버 함수 구현
}
};
int main() {
MyStruct obj;
obj.display(); // display() 호출
obj.display(10); // display(int) 호출
return 0;
}
클래스(class)의 멤버 함수 오버로딩
클래스의 멤버 함수 오버로딩은 다른 매개변수를 갖는 동일한 이름의 멤버 함수를 정의하는 것을 말합니다. 아래는 클래스의 멤버 함수 오버로딩의 예시입니다.
class MyClass {
public:
void display() {
// 클래스 멤버 함수 구현
}
void display(int x) {
// 오버로딩된 멤버 함수 구현
}
};
int main() {
MyClass obj;
obj.display(); // display() 호출
obj.display(10); // display(int) 호출
return 0;
}
C++에서는 구조체와 클래스의 멤버 함수 오버로딩이 가능하며, 이를 통해 하나의 이름으로 여러 가지 기능을 구현할 수 있습니다.
내용이 최근 방식으로 업데이트되었으며 해당 내용이 적용되는 C++11 표준 이후에 대해 설명했습니다.