2017年计算机等级考试成绩查询_2017年计算机等级考试二级C++辅导:this指针与另一种“多态”

副标题:2017年计算机等级考试二级C++辅导:this指针与另一种“多态”

时间:2023-11-19 17:47:01 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。


  一、 引入

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

本文来源:https://www.wddqw.com/nYrO.html