一、 引入
定义一个类的对象,首先系统已经给这个对象分配了空间,然后会调用构造函数。一个类有多个对象,当程序中调用对象的某个函数时,有可能要访问到这个对象的成员变量。而对于同一个类的每一个对象,都是共享同一份类函数。对象有单独的变量,但是没有单独的函数,所以当调用函数时,系统必须让函数知道这是哪个对象的操作,从而确定成员变量是哪个对象的。这种用于对成员变量归属对像进行区分的东西,就叫做this指针。事实上它就是对象的地址,这一点从反汇编出来的代码可以看到。
二、分析
1、测试代码:
view sourceprint?///////////////////////////////////////////////////
#include
using namespace std;
/////////////////////////////////////////////////////
class A
{
public:
A(char *szname)
{
cout<<"construct"<
name = new char[20];
strcpy(name, szname);
}
~A()
{
cout<<"destruct"<
delete name;
}
void show();
private:
char *name;
};
/////////////////////////////////////////////////////
void A::show()
{
cout<<"name = "<
}
/////////////////////////////////////////////////////
int main()
{
A a("zhangsan");
a.show();
system("pause");
return 0;
}
2017年计算机等级考试二级C++辅导:this指针与另一种“多态”.doc正在阅读:
2017年计算机等级考试二级C++辅导:this指针与另一种“多态”11-19
2021年江苏泰州中级会计职称考试时间:9月4日至6日06-23
2022-2023学年湖南省怀化市洪江市四年级下学期期中数学真题及答案(Word版)10-12
2023年天津和平艺术类专业统考成绩查询入口(已开通)01-10
2019年农村小学秋季学校工作计划03-01
初中生操行评语简短20字左右_简短的初中生操行评语30字07-28
【信息采集】2018广东珠海高栏区义务教育招生系统开启05-04
湘教版五年级英语上册寒假作业答案10-15
2017年安徽六安初中学业考试办法出台报名截止5月5日11-08
山西忻州2018年考研报名流程【已公布】02-19