C++. Operator μ•Œμ•„λ³΄κΈ°

μ΅œλŒ€ 1 λΆ„ μ†Œμš”

🌟 Operator Overloading

ꡬ쑰체λ₯Ό μ‚¬μš©ν•˜λ‹€ 보면 λ‹€λ₯Έ λ³€μˆ˜μ™€ λ‹€λ₯΄κ²Œ ꡬ쑰체끼리 λ”ν•˜κ³  λΉΌλŠ”, λ“±λ“±μ˜ μ—°μ‚° ν™œλ™μ΄ μ•ˆλ˜λŠ” κ±Έ λŠλ‚„ 것이닀. κ·Έλ•Œ κ΅¬μ‘°μ²΄μ—μ„œ μ—°μ‚°μžλ₯Ό ꡬ쑰체λ₯Ό μœ„ν•œ μ—°μ‚°μžλ‘œ μ˜€λ²„λ‘œλ”© ν•  수 μžˆλ‹€.

🌟 μ‚¬μš©λ²•

#include <iostream>

using namespace std;

class CStudent
{
private:
    int number;
public:
    CStudent(int number)
    {
        this->number = number;
    }

    CStudent operator +(CStudent& ref) //+μ—°μ‚°μž μž¬μ •μ˜
    {
        return CStudent(number + ref.number);
    }
};

int main()
{
    CStudent student1(10);
    CStudent student2(20);

    CStudent Sum = student1 + student2; //numberκ°€ 30으둜 μ΄ˆκΈ°ν™” 된 ꡬ쑰체 생성됨

    return 0;
}

μ—°μ‚°μž μ˜€λ²„λ‘œλ”©μ€ -도 ν•  수 있고 *도 ν•  수 μžˆλ‹€. λ¦¬ν„΄ν•˜λŠ” 값을 μ˜¬λ°”λ₯΄κ²Œ μ“΄λ‹€λ©΄ 뭐든 ꡬ쑰체에 맞게 μˆ˜μ •ν•  수 있음!

λŒ“κΈ€λ‚¨κΈ°κΈ°