【发布时间】:2015-08-06 10:03:49
【问题描述】:
假设你有
class Something
{
int nVal1;
public:
Something(int x = 0) { nVal1 = x }
Something& operator++()
{
if (nVal1 == 9)
nVal1 = 0;
else
++nVal1;
return *this;
}
};
int main()
{
Something test3;
++test3;
}
我还是 C++ 新手,如果我错了,请纠正我。 this 指针返回对调用重载operator++ 的对象的引用。 ++nVal1 是成员函数的本地函数,但是因为它是一个成员函数,对 test3 对象的状态进行操作,所以 nVal1 的值不会改变,除非它被重新分配或对象被销毁?另外,当*this 返回时,它是否将更改返回给对象?就像这里是
Something object(test3 address)
随着状态的变化?我了解类允许您创建自己的数据类型并存储数据。我认为我最大的困惑是返回的函数是什么以及它在哪里发送。它会覆盖该对象的先前状态吗?
【问题讨论】:
标签: c++ pointers return operators this