Гэты паказальнік змяшчае адрас бягучага аб'екта, у простых словах можна сказаць , што гэты паказальнік паказвае на бягучы аб'ект класа. Давайце разгледзім прыклад, каб зразумець гэтую канцэпцыю.
Прыклад З ++ гэты паказальнік
Тут вы можаце ўбачыць, што ў нас ёсьць сябры двух дадзеных Num і ч. У функцыі члена setMyValues () мы маем дзве лакальныя зменныя, якія маюць такое ж імя, як імя членаў дадзеных. У такім выпадку, калі вы хочаце прысвоіць лакальную зменныя да членаў дадзеных, то вы не зможаце не рабіць да таго часу, пакуль вы не будзеце выкарыстоўваць гэты паказальнік, таму што кампілятар не будзе ведаць, што вы маеце на ўвазе членаў дадзеных аб'екта, калі вы не выкарыстоўваеце гэты паказальнік. Гэта адзін з прыкладу , дзе вы павінны выкарыстоўваць гэты паказальнік.
#include <iostream> выкарыстоўваючы патезрас; клас Demo { прыватныя: INT Num; сімвал ч; грамадскасці: несапраўдны setMyValues (INT Num, сімвал CH) { этом-> Num = Num; этом-> CH = CH; } displayMyValues несапраўднымі () { соиЬ << Num << епсИ; соиЬ << ч; } }; Int асноўных () { Дэма OBJ; obj.setMyValues (100, 'А'); obj.displayMyValues (); вяртаць 0; }
выхад:
100
Прыклад 2: выклікі функцый ланцужкі, выкарыстоўваючы гэты паказальнік
Іншы прыклад выкарыстання гэтага паказальніка з'яўляецца вярнуць спасылку на бягучы аб'ект, так што вы можаце функцыі ланцуга выклікае, такім чынам, вы можаце выклікаць усе функцыі, неабходныя для бягучага аб'екта на адным дыханні. Яшчэ адзін важны момант, каб адзначыць у гэтай праграме з'яўляецца тое, што я павялічваецца значэнне NUM аб'екта ў другой функцыі, і вы можаце ўбачыць у выснове, што ён на самай справе павялічваецца на адзінку значэнне, якое мы ўсталявалі ў першым выкліку функцыі. Гэта паказвае, што счапленне з'яўляецца паслядоўным і змены, унесеныя ў элементы дадзеных аб'екта захоўваецца для далейшых выклікаў счапленне.
#include <iostream> выкарыстоўваючы патезрас; клас Demo { прыватныя: INT Num; сімвал ч; грамадскасці: Дэманстрацыйны setNum (ідэалам Num) { этом-> Num = Num; вярнуцца * гэта; } Дэманстрацыйны Сечы (сімвал ч) { this-> Num ++; этом-> CH = CH; вярнуцца * гэта; } displayMyValues несапраўднымі () { соиЬ << Num << епсИ; соиЬ << ч; } }; Int асноўных () { Дэма OBJ; // Счапленне выклікі obj.setNum (100) .setCh ( 'А'); obj.displayMyValues (); вяртаць 0; }
выхад:
101
Пакінуць каментар