문제

I'm a newbie, and I'm trying to understand the this pointer; can anyone can tell me to what does the "this pointer" point in C++?

To base address of the class?

Is this pointer in struct or union have the same meaning as in a class?

도움이 되었습니까?

해결책

'this' usually refers to the instance of the object that calls a particular method of a class,union,structure or a function.

when you have same names for different variables, then 'this' is used to differentiate between them.

class stu
{
int roll_no;
string name;

public:
void input(int roll_no,string name)
{
name=this->name;
roll_no=this->roll_no;
}


}

stu obj=new stu();
obj.input("47","harry");

Here, the 'this' tells that the 'name' is of the 'obj' that calls the method. Thus 'this' specifies the instance of the variable which belongs to the class object. Also remember, when you want answers to theoretical questions, try to google them first. Hope this helps.

다른 팁

A struct and a class are the same thing in c++ apart from struct having default members default to public.

A union doesn't have a this pointer.

The easiest way to think of a this pointer, is an internal pointer to the class you are writing code for.

Outside of a class (a pointer to an object called b)

b->c();

Inside the class:

this->c();
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top