Когда мы объявляем элемент данных с одним и тем же именем внутри класса, а также параметр функции внутри того же класса, мы используем this->, чтобы указать на расположение класса в памяти. Что меня смущает, так это: скажем, мы объявляем элемент данных с именем «meloncolor», а затем объявляем внутри класса параметр функции с тем же именем, например:
class fruitcolor{
public:
string meloncolor;
void changefruitcolor(string meloncolor)
{ this-> meloncolor = meloncolor }
};
Скажем, наш объект хранится в ячейке памяти 0xblahblahblah, поэтому оба члена/переменных данных «moloncolor» должны быть в одном и том же месте? Если да, то как программа/компьютер различает друг друга после указания адреса класса с помощью «this->», если они хранятся в одном и том же месте?