Как выглядит возвращаемая ссылка на объект с++

1) Я не понимаю как выглядит *this

2) Я не понимаю как выглядит возваращаемая ссылка на объект

3)Когда вовращается эта ссылка то что происходит в части c=a=b

 MyClass& operator = (const MyClass& copyObject) {
        //Копирую динамический массив
        return *this 
    }

    int main(){
    MyClass a(5);
    MyClass b(3)
    MyClass c(3)
    c=a=b;
    }

Ответы (1 шт):

Автор решения: 0x00004

1)*this равносильна любой другой переменной(только означает что в данном случает речь идет об объекте внутри которой используется эта this,т.е. "этот объект", т.е. MyClass), объекту, то есть, просто копия. Например int a. C таким же успехом вы бы могли просто вместо *this написать MyClass.

2)Возвращаемая ссылка выглядит как обычная ссылка то есть int &ref=переменная,т.е. мы возвращаем ссылку а не копию.

3) с получает значение a , а получает значение b. По ссылке.

Простой пример:

class SomeClass
{
public:
    SomeClass()
    {
        a = 5;
    }
    SomeClass(int l_a)
    {
        a = l_a;
    }

    SomeClass& operator=(const SomeClass &l_copy)
    {
        this->a = l_copy.a;
        return *this;
    }

    int a;
};

int main()
{
    SomeClass a;
    SomeClass b(1);
    b = a;
    std::cout << b.a << std::endl;



}
→ Ссылка