Advertisement
dllbridge

Untitled

Aug 22nd, 2023
603
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.81 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3.  
  4. ////////////////////////////////////////////
  5. class TT
  6. {
  7.    
  8.     friend int f(TT *);                    //                             И одновременно является прототипом функции.
  9.    
  10.     int n1;
  11.     int n2;
  12.    
  13.     int add(int  _n)
  14.     {
  15.        
  16.         return n1 + _n;
  17.     }
  18. };
  19.  
  20.  
  21.  
  22.  
  23.  
  24. ////////////////////////////////////////////
  25. int main()                                //
  26. {
  27.    
  28.     TT t;
  29.    
  30.  
  31.    
  32.     printf("add = %d\n", f(&t) );
  33. }
  34.  
  35.  
  36.  
  37. //  Из дружественной функции:
  38. //  1) Инициализируем закрытое поле "n1"
  39. //  2) Вызываем закрытый метод   "add()"
  40. ////////////////////////////////////////////
  41. int f(TT *pt)                              //
  42. {
  43.    
  44.     pt->n1 = 7;
  45.     return (*pt).add(1);
  46. }
  47.  
  48.  
  49.  
  50.  
  51.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement