6.1. Declararea pointerilor spre obiectele unei clase

6.1. Declararea pointerilor spre obiectele unei clase

Cum declar?m pointeri pentru orice tip de date, putem declara pointeri pentru orice clas?. De exemplu:

fractie_rationala fr19(1, 2), fr20(2, 5);
fractie_rationala *p1, *p2=&fr19, *p3;

Aici p1, p2 ?i p3 sunt trei pointeri cu tipul de baz? fractie_rationala. Pointerul p2 a fost ini?ializat cu adresa obiectului fr19, pointerii p1 ?i p3 deocamdat? nu con?in nici o adres?, ?ns? atribuirea poate fi f?cut? ?n orice moment ?n mod obi?nuit pentru pointeri:

p1 = &fr20;
p3 = p2;

Pointerului p1 i-a fost atribuit? adresa obiectului fr20, pointerul p3 acum con?ine adresa obiectului fr19, fiindc? pointerului p3 i-a fost atribuit con?inutul pointerului p2.

Obiectele pot fi accesate prin intermediul pointerilor, ?n mod normal, folosind operatorul unar *. Astfel, *p1 reprezint? ?n cazul nostru referin?a la obiectul fr20, iar *p2 ?i *p3 reprezint? referin?ele la obiectul fr19. De aceea fragmentul:

cout << fr20 << ' ' << *p1 << endl;
cout << fr19 << ' ' << *p2 << ' ' << *p3 << endl;

va afi?a:

2/5 2/5
1/2 1/2 1/2
_________________________
Autorul: dr.conf. S. Pereteatcu

рассказать друзьям и получить подарок

Оставить комментарий

Ваш email не будет опубликован. Обязательные поля отмечены *

Вы можете использовать это HTMLтеги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Translate Переводчик

Подписка на новости

SmartResponder.ru
Ваш e-mail: *
Ваше имя: *

Хостинг для Wordpress сайтов