这行是如何在这个C ++代码中工作的?

时间:2017-07-25 01:10:02

标签: c++ reference operators

我正在测试点成员选择运算符和箭头成员选择运算符(。)和( - >)之间的差异。 但我不明白我何时把参考文献等于自己。有用。如果我删除它上面的两行中的任何一行。它给了我错误。

#include <iostream>
using namespace std;
class count
{
public:
   void setX(int value)
   {
      x=value;
   }
   void printX()
   {
      cout<<x<<endl;
   }
private:
   int x;
};
int main()
{
   count counter;
   count *counterPtr=&counter;
   count &counterRef=counterRef; // here! I mistakenly put the
                                 //to reference to itself. but it 
                                 //works fine.

   counter.setX(7);
   counter.printX();

   counterRef.setX(8);           
   counterRef.printX();     //it works fine as and prints the value

   (*counterPtr).setX(9);
   (*counterPtr).printX();

   counterPtr->setX(10);
   counterPtr->printX();
}

0 个答案:

没有答案