this指针

转载 2005年03月04日 13:36:00

this指针与指向对象成员运算符“->”对象成员运算符“.”

#include "stdafx.h"
#include <iostream.h>
#include <string.h>

class Person{
public:
 char Name[20];
 char ID[10];
public:
 ////成员函数的定义可以放在类体内,但这样,该成员函数自动成为内联函数。
 ////注意:函数块结束处要加";"号。
 Person(char *_Name,char *_ID)
 {
  strcpy(Name,_Name);
  strcpy(ID,_ID);
 };
 ~Person()
 {
  cout<<"**************call destructor!**************"<<endl;
 };
 void show();
};
////函数形参为Person对象指针
void Display(Person *pObj)
{
 cout<<pObj->ID<<endl<<pObj->Name<<endl;
}
void Person::show()
{
 ////this指针:每一个处于生存期对象都具有的一个指针,用于指向对象本身。
 ////this指针总是作为一个隐含参数传递给类的每一个成员函数(注意:静态成员函数没有this指针)。
 Display(this);
}
int main(int argc, char* argv[])
{
 ////声明一个Person类对象指针p堆空间。
 Person *p=new Person("曾棕根","200320170");
 p->show();
 delete p;
 ////定义一个Person类对象k。
 Person k("苗红义","200320169");
 k.show();
 //////////////////////////////////////////////////
 ////“->”和“.”用法区别
 ////如果从“对象指针变量”引出对象成员,用“->”
 ////如果从“对象变量”引出对象成员,用“.”
 ///////////////////////////////////////////////////
 return 0;
}


c++之this指针详解

1. this指针的用处: 一个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果。this作用域是在类内部,当在类的非静态成员函数中访问类的非静态成员的时候,编译器会自动...
  • qq_35644234
  • qq_35644234
  • 2016年09月22日 15:33
  • 547

C++中this指针的本质

一直以来对C++中的this不理解,只知道在构造函数中,如果构造函数的参数和类成员的名字一样的话,就可以用this指针来区分,如:this->a = a;一直以来都有这个疑问:this究竟是什么?我们...
  • u011943221
  • u011943221
  • 2015年08月13日 19:35
  • 831

C++ class 中隐含的this指针

this指针只能在一个类的成员函数中调用,它表示当前对象的地址。下面是一个例子:       void Date::setMonth( int mn )       {        month = ...
  • u012943597
  • u012943597
  • 2013年11月29日 18:23
  • 1916

c++中this指针的用法详解

为什么引入this指针?     最简单的应用场景就是:当我们在类中定义了一个变量,同时在类成员函数中定义了同一变量时,也就是说变量名重复时,但是我们想使用类中定义的变量,这个时候我们该怎么办呢?这个...
  • u011939264
  • u011939264
  • 2016年05月31日 11:15
  • 4408

JS中的this指针详解

原文地址:http://www.cnblogs.com/kongxy/p/4581223.html (内容根据自己理解,有改动)         JS中this关键字很常见,但是它似乎变幻莫测,让人抓...
  • qq846294282
  • qq846294282
  • 2017年03月05日 21:22
  • 421

C++中关于this指针、static等内容的探究

This指针 有时候方法涉及到两个对象,在这种情况下,需要用到c++中的this指针; 1.指向当前对象,可以访问当前对象的所有成员. 2.在类内部可以访问所有成员 3.this只能在非静态成员函数内...
  • qq_23215649
  • qq_23215649
  • 2017年01月18日 10:53
  • 230

this指针指向当前调用对象,只是用于类的非静态成员函数。静态函数和全局函数 无当前对象,无this指针。

void Date::setMonth( int mn ) {      month = mn; // 这三句是等价的      this->month = mn;      (*this).mo...
  • hzw05103020
  • hzw05103020
  • 2016年03月02日 23:06
  • 1987

C++中this指针的作用以及用法详解

为什么引用this指针? 当我们在类中定义了一个变量,同时又在类成员函数中定义了同一个变量时,也就是变量名重复时,但是我们要想使用类中的定义的变量,此时就需要this指针了。 1.this指针的作...
  • qq_35420908
  • qq_35420908
  • 2016年10月11日 22:10
  • 2310

this指针及const成员函数

每个成员函数都有一个额外的、隐含的形参将改成员函数与调用该成员函数的类对象绑定在一起。这个而外的形参就是this,在调用成员函数时,形参this初始化为调用函数的对象的地址。 const成员函数的使用...
  • zldeng_scir
  • zldeng_scir
  • 2011年07月29日 20:42
  • 896

什么是this指针

关于this指针的一个精典回答: 当你进入一个房子后, 你可以看见桌子、椅子、地板等, 但是房子你是看不到全貌了。 对于一个类的实例来说, 你可以看到它的成员函数、成员变量, 但是...
  • l198738655
  • l198738655
  • 2017年01月09日 15:27
  • 1116
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:this指针
举报原因:
原因补充:

(最多只允许输入30个字)