怎么在c++中使用这个指针和空指针

  介绍

本篇文章为大家展示了怎么在c++中使用这个指针和空指针,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

c++通过提供特殊的对象指针,这指针,解决上述问题。<强>这指针指向被调用的成员函数所属的对象

这指针是隐含每一个非静态成员函数内的-种指针
这指针不需要定义,直接使用即可

这指针的用途:

<李>

当形参和成员变量同名时,可这指用针来区分

<李>

在类的非静态成员函数中返回对象本身,可使用返回这

怎么在c++中使用这个指针和空指针

一,这指针

第一指针解决名称冲突

# include  & lt; iostream>   using  namespace 性传播疾病;   class 人   {   公众:   人(int 年龄)   {   时间=age 年龄;   }   int 年龄;      };//1,解决名称冲突   void  test1 ()   {   Person  p1 (18);   cout  & lt; & lt;,“p1的年龄为=?& lt; & lt;, p1.age  & lt; & lt;, endl;   }   int  main (),   {   test1 ();   return  0;   }

输出年龄乱码

怎么在c++中使用这个指针和空指针”> <br/> </p> <p>分析<br/> </p> <p> <img src=

光标放在形参的年龄上,发现三个年龄都是灰色,系统认为这个三个年龄是同一数据

<强>解决1:

将成员变量和形参书写是上加m_区分

class 人   {   公众:   人(int 年龄)   {   时间=m_Age 年龄;   }   int  m_Age;      };

怎么在c++中使用这个指针和空指针

<强>解决2:

这指针指向被调用的成员函数所属对象

class 人   {   公众://1,解决名称冲突   人(int 年龄)   {//这个指针指向,被调用的成员函数,所属对象=这→age 年龄;   }   int 年龄;      };

怎么在c++中使用这个指针和空指针

怎么在c++中使用这个指针和空指针

怎么在c++中使用这个指针和空指针

2返回对象本身用*这

class 人   {   公众://1,解决名称冲突   人(int 年龄)   {//这个指针指向,被调用的成员函数,所属对象=这→age 年龄;   }//2,返回对象本身用*   void  PersonAddAge (Person , p)   {   这→age  +=, p.a ge;   }      int 年龄;      };//1,解决名称冲突   void  test1 ()   {   Person  p1 (18);   cout  & lt; & lt;,“p1的年龄为=?& lt; & lt;, p1.age  & lt; & lt;, endl;//2,返回对象本身用*   Person  p2 (10);   p2.PersonAddAge (p1);   cout  & lt; & lt;,“p2的年龄为=?& lt; & lt;, p2.age  & lt; & lt;, endl;   }

怎么在c++中使用这个指针和空指针”> <br/> </p> <p>现在想要年龄后面继续累加,出错<br/> </p> <p> <img src=//2,返回对象本身用*   Person , PersonAddAge (Person , p)   {//这个指向p2的指针,而*这指向的就是p2这个对象的本体   这→age  +=, p.a ge;   return  *;   }

完整代码

# include  & lt; iostream>   # include   using  namespace 性传播疾病;//1,解决名称冲突//2,返回对象本身用*      class 人   {   公众://1,解决名称冲突   人(int 年龄)   {//这个指针指向,被调用的成员函数,所属对象=这→age 年龄;   }//2,返回对象本身用*   Person , PersonAddAge (Person , p)   {//这个指向p2的指针,而*这指向的就是p2这个对象的本体   这→age  +=, p.a ge;   return  *;   }      int 年龄;      };//1,解决名称冲突   void  test1 ()   {   Person  p1 (18);   cout  & lt; & lt;,“p1的年龄为=?& lt; & lt;, p1.age  & lt; & lt;, endl;//2,返回对象本身用*   Person  p2 (10);   p2.PersonAddAge (p1) .PersonAddAge (p1) .PersonAddAge (p1);   cout  & lt; & lt;,“p2的年龄为=?& lt; & lt;, p2.age  & lt; & lt;, endl;   }      int  main (),   {   test1 ();   return  0;   }

怎么在c++中使用这个指针和空指针