以下代码:
#include <iostream>
class Test
{
public:
int i;
void get();
};
void Test::get()
{
std::cout << "Enter the value of i: ";
std::cin >> i; // Line 1
}
Test t;
int main()
{
Test t;
t.get();
std::cout << "value of i in local t: "<<t.i<<'\n';
::t.get();
std::cout << "value of i in global t: "<<::t.i<<'\n';
return 0;
}
虽然我知道上面代码中发生了什么,即值已分配给本地和全局 t ,但我对第1行感到困惑,因为我无法了解第1行从用户收到的价值如何分配给 ti 或 :: ti 。
如果有人能帮助我解释**在上述问题的背后**,将非常感激。
答案 0 :(得分:3)
Test::get()
是成员函数。
在成员函数中,您可以命名该类的任何成员变量,它将影响您调用该函数的对象。
阅读C ++中有关类的书中的章节。