this 는 클래스 포인터다.

 

#include <iostream>

using namespace std;

class MyClass
{
public:
    void printThis()
    {
        std::cout << "이 클래스의 주소값은" << this << endl;
    }
};

int main()
{
    MyClass a, b;

    std::cout << "a의 주소" << &a << endl;
    std::cout << "b의 주소" << &b << endl;
    a.printThis();
    b.printThis();
}

 

#include <iostream>

using namespace std;

class MyClass
{
public:
    void printThis(MyClass *ptr)
    {
        std::cout << "이 클래스의 주소값은" << &ptr << endl;
    }
};

int main()
{
    MyClass a, b;

    std::cout << "a의 주소" << &a << endl;
    std::cout << "b의 주소" << &b << endl;
    a.printThis(&a);
    b.printThis(&b);
}