Резултати от 1 до 2 от общо 2

Какво е Friend метод

Сподели във Facebook Сподели в Twitter Изпрати на Email Сподели в LinkedIn
  1. Junior Member
    Тук е от
    Jul 2006
    Мнения
    84
    #1

    Какво е Friend метод

    Какво представляват" Friend" методите и къде може да се прочете нещо на български, за тях ?

  2.  
     
  3. Member Аватара на kamenf
    Тук е от
    Feb 2005
    Мнения
    799
    #2

    Re: Какво е Friend метод

    Ако си запознат с private то следното e всичко, което може да се каже за friend:

    Private методи и членове могат да се ползват само от класа в който са декларирани от методите на този клас и... от класове и/или методи, които са декларирани като friend в този клас. Пример:

    Код:
    int CanAccessFriend();
    
    class SomeClass
    {
    private:
     int private_member;
     friend int CanAccessFriend();
     friend class OtherClass;
    public: 
     ...
    };
    
    class OtherClass
    {
      int SomeFunc()
      {
        SomeClass sc; 
        return sc.private_member; //тук може, защото OtherClass е "приятел" на SomeClass
      }
    };
    
    class AnotherClass
    {
      int Func()
      {
        SomeClass sc; 
        return sc.private_member; //тук не може
      }
    };
    
    int CanAccessFriend()
    {
     SomeClass sc; 
     return sc.private_member; //тук може, защото CanAccessFriend е "приятел" на SomeClass
    };
    
    int CanNotAccessFriend()
    {
     SomeClass sc; 
     return sc.private_member; // тук не може
    };
    Тази конструкция се налага да се използва, когато искаш да си сигурен, че определени методи и членове на един клас не трябва да се ползват от никой друг освен този клас, но се налага да се ползват от точно определени други класове и/или методи за които ти предварително знаеш, че знаят какво правят (бърникайки в "частна" собственост). Пример за подобно поведение е например контейнер и неговото съдържание - контейнера е дефиниран в един клас, а съдържащите се в него елементи - в друг (обикновено родител на действителни такива) и е нормално контейнера да знае много добре какво прави с елементите си... както и елементите какво правят с контейнера си (тогава и двата класа взаимно се декларират като "приятелски").

Сподели във Facebook Сподели в Google Plus Сподели в Twitter Изпрати на Email Сподели в LinkedIn

Подобни теми

  1. Какъв метод за отопление с пелети
    От gost89 във форум Отопление
    Отговори: 6
    Последно: 21-12-13, 23:22
  2. Отговори: 6
    Последно: 01-03-10, 11:59
  3. Препоръчайте ми метод за борба със спам
    От glarus във форум Общ - софтуер
    Отговори: 9
    Последно: 21-04-06, 13:55
  4. UPGRADE for friend
    От hack4o във форум Процесори и Дънни платки
    Отговори: 7
    Последно: 10-03-03, 15:19

SetCombG.com
SetCombG.com е портален сайт и Форум за битова техника, телевизори, климатици, лаптопи и смартфони, създаден през 1999 година.
Заедно сме над 20 години!
Следвай ни
Горе