C++

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

드린 2016. 11. 28. 10:58
반응형
//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 포인터 사용 예제 #실습 예제

반응형