#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;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgpjbGFzcyBEYXNhOwoKY2xhc3MgRGEgCiAKewogICAgCiAKIApwdWJsaWM6CiAKICAgIAogCiAgICB2b2lkIGRhKCkge3ByaW50ZigiKioqKiogZGEoKSBEYVxuXG4iKTt9CiAKICAgIAogCiAgICAvLyB2b2lkIG5lcyAoRGFzYSAmIGhqKSB7aGouZGFzYWhhKCkgO30KICAgIHZvaWQgbmVzIChEYXNhICYgaGopOwogICAgCiAgICBEYSgpICB7cHJpbnRmKCIqKioqKiBEYSBjb25zdFxuXG4iKTt9IAogCiAgICB+RGEoKSB7fQogCiAgICAKfTsgCiAKY2xhc3MgRGFzYQogCnsKIApwcml2YXRlOgogCiAgICB2b2lkIGRhc2FoYSgpICAgCiAgICAKICAgIHsKICAgICAgICAKICAgICAgICAKICAgICAgICBwcmludGYoIioqKioqIGRhc2FoYSgpICBEYXNhXG5cbiIpOwogICAgCiAgICB9CiAKIAogICAgZnJpZW5kIHZvaWQgRGEgOjogbmVzKERhc2EgJiBoaik7CiAKIApwdWJsaWM6CiAKICAgIAogCiAgICB2b2lkIGFzYWhhKCkgICAKICAgIAogICAgewogICAgICAgIAogICAgICAgIAogICAgICAgIHByaW50ZigiKioqKiogYXNhaGEoKSAgRGFzYVxuXG4iKTsKICAgIAogICAgfQogCiAgICAKICAgIAogICAgRGFzYSgpICB7cHJpbnRmKCIqKioqKiBEYXNhIGNvbnN0XG5cbiIpO30gIAogCiAgICB+RGFzYSgpIHtwcmludGYoIioqKioqIERhc2EgZGVzdFxuXG4iKTt9CiAKICAgIAp9OwogCiAKdm9pZCBEYTo6bmVzIChEYXNhICYgaGopIHtoai5kYXNhaGEoKSA7fQoKIAppbnQgbWFpbigpCiAKeyAKICAgIERhIGY7CiAKICAgIERhc2EgZmo7CiAKICAgIGYubmVzKGZqKTsKIAoKICAgIHJldHVybiAwOwogCn0=