c/c++语言开发共享【6】学习C++之类的实例化及访问

类就像一张图纸,如果不去实例化,制造出相应的零件,用处就不会那么大。 实例化类有两种,一个是从栈中实例化对象: 另一个是从堆中实例化对象: 这两种实例化后的对象的访问方式也是有所不同的,如果是从栈中实例化的对象的成员,访问用点(.)即可: 如果是从堆中实例化的对象的成员,访问用箭头(->)即可: 如 …

类就像一张图纸,如果不去实例化,制造出相应的零件,用处就不会那么大。

实例化类有两种,一个是从栈中实例化对象:

class tv  {  public:      char name[20];      int type;        void changevol();      void power();  }    int main(void)  {      tv tv;    //实例化一个对象      tv tv[20];//实例化一组对象        return 0;  }

另一个是从堆中实例化对象:

class tv  {  public:      char name[20];      int type;        void changevol();      void power();  }    int main(void)  {      tv *p = new tv();    //实例化一个对象      tv *q = new tv[20];  //实例化一组对象      delete p;      delete []q;        return 0;  }

这两种实例化后的对象的访问方式也是有所不同的,如果是从栈中实例化的对象的成员,访问用点(.)即可:

int main(void)  {      tv tv;      tv.type = 0;      tv.changevol();      return 0;  }

如果是从堆中实例化的对象的成员,访问用箭头(->)即可:

int main(void)  {      tv *p = new tv();      p ->type = 0;      p ->changevol();      delete p;      p = null;      return 0;  }

如果是从堆中实例化的一组对象的成员,则是额外需要for循环:

int main(void)  {      tv *p = new tv[5];      for(int i = 0;i<5;i++)      {          p ->type = 0;          p ->changevol();      }      delete []p;      p = null;      return 0;  }

 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/603980.html

(0)
上一篇 2021年5月12日
下一篇 2021年5月12日

精彩推荐