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++은 연산자 오버로딩 문법을 활용해 연산자 또한 원하는 방식으로 수정하여 사용 가능
#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");
}