Возможный дубликат:
Когда я использую точку, стрелку или двойную двоеточие для ссылки на членов класса на С++?
Я создал класс под названием Kwadrat, и у меня есть три внутренних поля внутри. Блок кода дает мне совет, что я могу попасть в поле объекта ::
, .
и ->
. Стрела - это только работа, но почему? Какая разница между этими тремя?
#include <iostream>
using namespace std;
class Kwadrat{
public:
int val1, val2, val3;
Kwadrat(int val1, int val2, int val3)
{
this->val1 = val1;
//this.val2 = val2;
//this::val3 = val3;
}
};
int main()
{
Kwadrat* kwadrat = new Kwadrat(1,2,3);
cout<<kwadrat->val1<<endl;
cout<<kwadrat->val2<<endl;
cout<<kwadrat->val3<<endl;
return 0;
}