设为首页 加入收藏

TOP

C++之this指针与另一种“多态”
2014-10-27 22:30:06 来源: 作者: 【 】 浏览:48
Tags:this 指针 多态

  一、 引入


  定义一个类的对象,首先系统已经给这个对象分配了空间,然后会调用构造函数。一个类有多个对象,当程序中调用对象的某个函数时,有可能要访问到这个对象的成员变量。而对于同一个类的每一个对象,都是共享同一份类函数。对象有单独的变量,但是没有单独的函数,所以当调用函数时,系统必须让函数知道这是哪个对象的操作,从而确定成员变量是哪个对象的。这种用于对成员变量归属对像进行区分的东西,就叫做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;


  }


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C++的中的结构体和枚举 下一篇VC获取Windows所有用户的用户名

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: