C++ #05 오버로딩

underlier12·2020년 2월 3일
0

C++

목록 보기
5/19

05. 오버로딩

함수 오버로딩

C++은 동일한 이름의 멤버 함수를 다양한 방식으로 활용하기 위해 오버로딩 사용

#include<iostream>
#include<string>

using namespace std;

class Person{
private:
	string name;
public:
	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");
}

연산자 오버로딩

C++은 연산자 오버로딩 문법을 활용해 연산자 또한 원하는 방식으로 수정하여 사용 가능

  1. 기존에 존재하는 연산자만 정의 가능
  2. 멤버연산자(.), 범위 지정 연산자(::) 등의 일부 연산자는 불가
  3. 기본적인 연산자 규칙을 따라야 함
  4. 오버로딩 된 연산자의 피연산자 중 하나는 사용자 정의 자료형이어야 함
#include<iostream>
#include<string>

using namespace std;

class Person{
private:
	string name;
public:
	Person() { name = "임꺽정"; }
	Person(string name) : name(name) { }
	Person operator +(const Person& other) { return Person(name + " & " + other.name); }
	void showName() {
		cout << "이름: " << name << '\n';
	}
};

int main(void) {
	Person person1;
	Person person2("나동빈");
	Person result = person1 + person2;
	result.showName();
	system("pause");
}
profile
logos and alogos

0개의 댓글