#include<iostream>
#include<fstream>
using namespace std;
class Integer {
public:
int val;
Integer(int val = 0) {
this->val = val;
}
void setVal(int val) {
this->val = val;
}
};
int main()
{
int val;
Integer i;
i.setVal(8);
cout << val << endl;
}
Когда я выполняю свой код, я получил 0
. Я новичок в C++, я не понимаю this
. Может ли кто-нибудь более подробно остановиться на этом вопросе?Как мы ссылаемся на поле, когда аргумент метода имеет одно и то же имя?
Почему бы не использовать поисковую систему для объяснения этого в C++? – hoijui
C++ не является Java, поэтому вам не следует просто прыгать и использовать геттеры/сеттеры везде. Ссылки 'const' устраняют почти все неады для геттеров и сеттеров. Во всяком случае, [они злы] (http://typicalprogrammer.com/doing-it-wrong-getters-and-setters/). – CoffeeandCode