
一、 引入
定义一个类的对象,首先系统已经给这个对象分配了空间,然后会调用构造函数。一个类有多个对象,当程序中调用对象的某个函数时,有可能要访问到这个对象的成员变量。而对于同一个类的每一个对象,都是共享同一份类函数。对象有单独的变量,但是没有单独的函数,所以当调用函数时,系统必须让函数知道这是哪个对象的操作,从而确定成员变量是哪个对象的。这种用于对成员变量归属对像进行区分的东西,就叫做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
2023年河南鹤壁市区普通高中体育艺术特长生招生工作的通知06-03
江苏南通四建集团2017招聘启事08-23
妈妈有你真好作文600字06-18
宣讲会主持词优秀范文四篇11-12
教师辞职报告范文【五篇】12-16
[vip客户生日月祝福短信]给VIP客户庆生日祝福短信03-15
江西上饶2020年初级会计职称报考条件03-26
做月饼作文800字06-18