Оператор разрешения области действия против этого указателя в С++

Опубликовано: 15 Сентября, 2022

Оператор разрешения области предназначен для доступа к статическим членам или членам класса, а этот указатель предназначен для доступа к членам объекта, когда есть локальная переменная с тем же именем.

Рассмотрим ниже программу C++:

Объяснение: Вывод для приведенной выше программы равен 3 , так как «а», переданное в качестве аргумента функции , затеняет «а» класса .ie 1

Тогда как вывести класс «а». Вот где этот указатель пригодится. Такой оператор, как cout <<this->a вместо cout << a, может просто вывести значение 1, поскольку этот указатель указывает на объект, из которого вызывается func .

Как насчет оператора разрешения области видимости ?

Мы не можем использовать оператор разрешения области в приведенном выше примере для вывода члена объекта «a», потому что оператор разрешения области можно использовать только для статического члена данных (или членов класса). Если мы используем оператор разрешения области в приведенной выше программе, мы получаем ошибку компилятора, и если мы используем этот указатель в приведенной ниже программе, мы также получаем ошибку компилятора.

Эта статья предоставлена Аакашем Сачдевой . Если вам нравится GeeksforGeeks и вы хотите внести свой вклад, вы также можете написать статью и отправить ее по адресу review-team@geeksforgeeks.org. Посмотрите, как ваша статья появится на главной странице GeeksforGeeks, и помогите другим гикам. Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по теме, обсуждаемой выше.

C++ C