当前位置: 编程技术>c/c++/嵌入式
C++基础之this指针与另一种“多态”
来源: 互联网 发布时间:2014-10-18
本文导语: 一、引入定义一个类的对象,首先系统已经给这个对象分配了空间,然后会调用构造函数。一个类有多个对象,当程序中调用对象的某个函数时,有可能要访问到这个对象的成员变量。而对于同一个类的每一个对象,都是共享...
一、引入
定义一个类的对象,首先系统已经给这个对象分配了空间,然后会调用构造函数。
一个类有多个对象,当程序中调用对象的某个函数时,有可能要访问到这个对象的成员变量。
而对于同一个类的每一个对象,都是共享同一份类函数。对象有单独的变量,但是没有单独的函数,所以当调用函数时,系统必须让函数知道这是哪个对象的操作,从而确定成员变量是哪个对象的。
这种用于对成员变量归属对像进行区分的东西,就叫做this指针。事实上它就是对象的地址,这一点从反汇编出来的代码可以看到。
二、分析
1、测试代码:
代码如下:
/////////////////////////////////////////////////////////////////////////////////////
#include
using namespace std;
/////////////////////////////////////////////////////
class A
{
public:
A(char *szname)
{
cout