#include <stdio.h>

class Dasa;

class Da 
 
{
    
 
 
public:
 
    
 
    void da() {printf("***** da() Da\n\n");}
 
    
 
    // void nes (Dasa & hj) {hj.dasaha() ;}
    void nes (Dasa & hj);
    
    Da()  {printf("***** Da const\n\n");} 
 
    ~Da() {}
 
    
}; 
 
class Dasa
 
{
 
private:
 
    void dasaha()   
    
    {
        
        
        printf("***** dasaha()  Dasa\n\n");
    
    }
 
 
    friend void Da :: nes(Dasa & hj);
 
 
public:
 
    
 
    void asaha()   
    
    {
        
        
        printf("***** asaha()  Dasa\n\n");
    
    }
 
    
    
    Dasa()  {printf("***** Dasa const\n\n");}  
 
    ~Dasa() {printf("***** Dasa dest\n\n");}
 
    
};
 
 
void Da::nes (Dasa & hj) {hj.dasaha() ;}

 
int main()
 
{ 
    Da f;
 
    Dasa fj;
 
    f.nes(fj);
 

    return 0;
 
}