카테고리 없음

C++ 에서의 overloading

륵기 2020. 10. 10. 15:17
728x90
반응형

동일한 이름의 멤버함수를 다양한 방식으로 활용하기 위해 오버로딩을 사용할 수 있다.

#include <iostream>
#include <string>

using namespace std;

class Person{

private:
    string name;
public:
    //매개변수 없는 경우 -> default 값으로 홍길동 들어감
    Person() {name = "홍길동";}
    //매개변수를 줄때 입력한 값으로 들어가게 된다.
    Person(string name): name(name) { }
    void showName() {cout << "이름 : " << name <<'\n';}
};

int main(void){
    Person person1;
    person1.showName(); // 홍길동으로 나온다.
    Person person2("김철수");
    person2.showName(); // 김철수로 나온다.
    system("pause");
}

 

연산자 오버로딩

: 연산자를 원하는 방식으로 수정해서 사용할 수 있음

 

- 기존에 존재하는 연산자만 정의 가능

- 멤버 연산자, 범위 지정연산자 등의 연산자는 오버로딩 처리 불가

- 피연산자의 개수 규칙 등 기본적인 연산자의 규칙을 따라야한다.

- 오버로딩이 된 연산자의 피연산자 중 하나는 사용자 정의 자료형이어야 한다.

728x90
반응형