본문 바로가기
C++

C++ 소스코드: This 포인터 사용 예제

by 드린 2016. 11. 28.

목차

    반응형
    //This 포인터
    #include<iostream>
    using namespace std;
    
    class X {
    protected:
        int data;
    
    public:
        void Print();
        void Set(int data);
        bool IsEqual(const X& object);
    };
    
    void X::Print() {   //출력을 위한 함수
        cout << "this= " << this << ", data=  " << data << "\n";
    }
    
    void X::Set(int data) { //protected 변수에 값을 집어넣기 위한 함수
        this->data = data;
    }
    
    bool X::IsEqual(const X& object) {  //클래스 객체의 값과 같은지 검사하는 함수
        return (data == object.data);
    }
    
    int main() {
        X obj;
        obj.Set(100);
        cout << "obj: ";
        obj.Print();
        cout << "obj의 주소: " << &obj << "\n";
    
        X obj2;
        obj2.Set(200);
        cout << "obj2: ";
        obj2.Print();
        cout << "obj2의 주소: " << &obj2 << "\n";
    
        if (obj.IsEqual(obj2))
            cout << "같습니다.";
        else
            cout << "다릅니다.";
        cout << "\n";
    
        return 0;
    }
    

    <결과>

    2016/11/27 - [C++] - C++ 소스코드: 프렌드 함수를 이용한 스택 구현 예제

    2016/11/27 - [C++] - C++ 소스코드: 접근자 함수를 이용한 스택 구현 예제

    2016/11/27 - [C++] - C++ 소스코드: 스택 분할 구현 예제(헤더, 소스, 메인 파일)

    #C++ #C++ 소스코드 #This 포인터 사용 예제 #실습 예제

    반응형