"рд╕реА ++ рдореЗрдВ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдкреНрд░рддрд┐рдирд┐рдзрд┐" рд▓реЗрдЦ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рдпрд╣ рд╕рдордЭрд╛ рдХрд┐ рдореБрдЭреЗ рдмрд┐рд▓реНрдХреБрд▓ рдХреБрдЫ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛ - рдХрд╕рдХрд░ред рд╢рд╛рдпрдж рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд▓реЗрдЦрдХ рдиреЗ рдЕрдкрдиреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ C # рднрд╛рд╖рд╛ рдореЗрдВ рдкреНрд░рддрд┐рдирд┐рдзрд┐рдпреЛрдВ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЗ рд▓рд┐рдП рдЕрдкреАрд▓ рдХреА рдереА, рдЬрд┐рд╕реЗ рдореИрдВ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдереЛрдбрд╝рд╛ рдХрдо рдЬрд╛рдирддрд╛ рд╣реВрдВред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдЙрджреНрджреЗрд╢реНрдп C, рдЬрд┐рд╕рдореЗрдВ, рд╡рд┐рд▓рдВрдм рдЕрдХреНрд╕рд░ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдкреНрд░рддрд┐рдирд┐рдзрд┐рдордВрдбрд▓ рдХреЗ рд▓рд┐рдП рджреГрд╖реНрдЯрд┐рдХреЛрдг C ++ рдореЗрдВ рдХрд╛рдлреА рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЪрд┐рддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЪреВрдВрдХрд┐ рдЗрд╕ рдкрд░ рд▓рд┐рдЦрдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╡реЗ рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рдЕрдзрд┐рдХ рдкрд╕рдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рдмрд╛рд░ рдореЗрдВ рдПрдХ рдЪреЗрддрд╛рд╡рдиреА - рдЪреВрдВрдХрд┐ рдЙрджреНрджреЗрд╢реНрдп рд╕реА рдореЗрдВ рд╡рд┐рдзрд┐ рдХреЗ рд╕рд╛рде рдмрд╛рдзреНрдпрдХрд╛рд░реА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд░рдирдЯрд╛рдЗрдо рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЙрд╕рдиреЗ рдкреНрд▓рд╕рд╕ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдорд╣рд╛рди рд╕реНрдЯреНрд░реИрд╕реЗрдк рдиреЗ рд╣рдореЗрдВ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдЕрдВрддрд░ - рдЖрднрд╛рд╕реА рдХрд╛рд░реНрдпреЛрдВ рдХреА рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдЫреЛрдбрд╝ рджреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕рдХреЗ рд▓рд┐рдП рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░реЗрдВрдЧреЗред
рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдЙрджреНрджреЗрд╢реНрдп рд╕реА рдореЗрдВ рдкреНрд░рддрд┐рдирд┐рдзрд┐рдордВрдбрд▓ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдЗрд╕рд▓рд┐рдП, рдЕрдЪреНрдЫреЗ рд╕реНрд╡рд╛рдж рдХреЗ рдирд┐рдпрдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдЗрдВрдЯрд░рдлреЗрд╕ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (@interface рдкреНрд▓рд╕ рдореЗрдВ рд╡рд░реНрдЧ рдХрд╛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдПрдирд╛рд▓реЙрдЧ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рдж рд╣рдо рдЗрд╕реЗ рдПрдХ рд╡рд░реНрдЧ рднреА рдХрд╣реЗрдВрдЧреЗ), рдФрд░ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рд╡рд┐рдзрд┐рдпреЛрдВ (@protocol) рдХреА рдШреЛрд╖рдгрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓, рдЬрд┐рд╕ рд╡рд░реНрдЧ рдХреЛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рдпреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдкреНрд░реЛрдЯреЛрдХреЙрд▓ (Kokoshnikov рдХреА рднрд╛рд╖рд╛ рдореЗрдВ, рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП), рдФрд░ рд╡рд╣ рд╡рд░реНрдЧ рдЬреЛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рдпреЛрдВ рдХреЛ рдмреБрд▓рд╛рддрд╛ рд╣реИ, рдПрдХ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдХреЛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рдпреЛрдВ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд░реНрдЧ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕рдорд░реНрдерди рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЧрддрд┐рд╢реАрд▓ рдмрдВрдзрди рдХреЗ рдХрд╛рд░рдг рд╡рдВрд╢рд╛рдиреБрдХреНрд░рдо рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рдмрд╕ рдирд╛рдо рдХреЙрдкреА рдФрд░ рдкреЗрд╕реНрдЯ рдХрд░реЗрдВред рдпрджрд┐ рд╣рдо рд╡рд╛рдВрдЫрд┐рдд рд╡рд░реНрдЧ рдореЗрдВ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рджрд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ - рд╕рдВрдХрд▓рдХ рдЪреЗрддрд╛рд╡рдиреА рджрд┐рдЦрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реА ++ рдореЗрдВ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдлрд┐рд░ рдЖрдкрдХреЛ рдЙрддреНрд╕рд╛рд╣ рдХреЗ рд╕рд╛рде рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдХреЛ рджреЗрдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ)ред
рдЕрдм рдХреЛрдб рдкрд░ рдЬрд╛рдПрдВред рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ рд╕рдорд╛рди рдкреНрд░реЛрдЯреЛрдХреЙрд▓ / рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреА рдПрдХ рдЬреЛрдбрд╝реА рдХреА рдШреЛрд╖рдгрд╛ рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдЗрд╕ рддрдереНрдп рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ C ++ рд╣реИ;
рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП, _interface рдореЗрдВ рдХреЗрд╡рд▓ рдлрд╝рдВрдХреНрд╢рди рдирд╛рдо рд╣реЛрддреЗ рд╣реИрдВ, рдЙрдирдХреЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рдПрдХ рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрднреА рдХреЗ рд▓рд┐рдП, рдпрд╣ рдКрдкрд░ рджрд┐рдП рдЧрдП рдХреЛрдб рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИред _рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕рдВрд░рдЪрдирд╛ рд╣рдорд╛рд░реА рдкреНрд░рддрд┐рдирд┐рдзрд┐ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рд╣реИ, рдкреБрд░реБрд╖ рдЗрд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдХреБрдЫ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдирд╛рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ (_interface), рдЬреЛ рд▓реЛрдЧ рдЙрджреНрджреЗрд╢реНрдп рд╕реА рдЬрд╛рдирддреЗ рд╣реИрдВ, рд╡реЗ рдкрд╣рд▓реЗ рд╣реА рджреЗрдЦ рдЪреБрдХреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдП рд╕реВрдЪрдХ рдХрд╛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдкреНрд░рдХрд╛рд░ рд╣реИред рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рд╡рд░реНрдЪреБрдЕрд▓ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреА рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП, рдкреЙрдЗрдВрдЯрд░ рдХреЗ рдкрд╛рд╕ рдРрд╕реА рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдкреНрд░рдХрд╛рд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
_Interface рд╡рд░реНрдЧ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ: рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕реВрдЪрдХ, рдкреВрд░реНрдгрд╛рдВрдХ, рдПрдХ рднрд┐рдиреНрдирд╛рддреНрдордХ рд╕рдВрдЦреНрдпрд╛ - рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдпрд╣ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдХрд┐ рдПрдХ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдЗрди рдирд┐рдЬреА рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдХреИрд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдЧрд╛ред рдФрд░ рдЕрдм рдпрд╣ рджрд┐рдЦрд╛рдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рд╣рдорд╛рд░рд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ:
#include "SomeInterfaceAndProtocol.hpp" #include "math.h" class realprotocol: public _protocol
рдзреНрдпрд╛рди рджреЗрдВ (!):
class realprotocol: public _protocol
- рдЖрдкрдХреЛ рдЗрд╕ рддрд░рд╣ рд▓рд┐рдЦрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдЕрдЧрд░ рдХреНрд▓рд╛рд╕ рдХреЛ рдХреЗрд╡рд▓ рдХреНрд▓рд╛рд╕ рд░рд┐рдпрд▓рдкреНрд░реЛрдХреЛрд▓ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рд╕рдм рдХреБрдЫ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рд▓рд┐рдЦреЗрдВ - рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдмрд┐рдирд╛ рд╡рдВрдЪрд┐рдд рдкреНрд░рдХрд╛рд░ рдХреА рдорд╛рдлреА рдХреЗ рдмрд┐рдирд╛, рдХрдВрдкрд╛рдЗрд▓рд░ рднреА рдЗрд╕реЗ рдЗрдХрдЯреНрдард╛ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ рдЙрджреНрджреЗрд╢реНрдп рд╕реА рдЕрдзрд┐рдХ рдорд┐рд▓рдирд╕рд╛рд░ (рдКрдкрд░ рджреЗрдЦреЗрдВ), рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдореЗрд░реА рдХрдорд┐рдпрд╛рдВ рд╣реИрдВ (рдФрд░ рдХрдИ)ред
рдФрд░ рдЕрдм рдпрд╣ рд╕реВрдЪреА рджрд┐рдЦрд╛рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ рдЬрд╣рд╛рдВ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдФрд░ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдмрд╛рддрдЪреАрдд рдХрд░рддреЗ рд╣реИрдВ:
#include <cstdlib> #include "SomeInterfaceAndProtocol.hpp" #include "realprotocol.hpp" realprotocol delegat; _interface delegator=_interface(44, 66.888, "seidal eht rof maj"); int main(int argc, char *argv[]) { delegator.SetDelegate(&delegat); delegator.action(); delegator.viewResults(); system("PAUSE"); return EXIT_SUCCESS; }
рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рдХрдВрд╕реЛрд▓:

рдпрд╣ рд╕рдм рдХреЛрдб рдХреЗ рд▓рд┐рдП рд╣реИ - рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╡рд╛рдкрд╕ рд╕рд╛рдордиреЗ рдХреА рдУрд░ рд╣реИ, рдкреВрд░реНрдгрд╛рдВрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдирд┐рдпрдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╡рд┐рд╡реЗрдХ рдкрд░, рдпрд╣ рдкреНрд░рддрд┐рдирд┐рдзрд┐рдордВрдбрд▓ рдХрд╛ рд╕рд╛рд░ рдХрд╛рдлреА рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЖрджрд░реНрд╢ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди C ++ рдЖрдорддреМрд░ рдкрд░ рдкреНрд░рддрд┐рдирд┐рдзрд┐рдордВрдбрд▓ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдмреИрд╕рд╛рдЦреА рдХреЗ рдмрд┐рдирд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕ рд╡рд╕реНрддреБ рдХреЛ рд╡реЗ рдкреНрд░рддреНрдпрд╛рдпреЛрдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЙрд╕реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рд╡рд╕реНрддреБ рд╕реЗ рд╡рдВрд╢рд╛рдиреБрдХреНрд░рдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ рдФрд░ рд╡рдВрд╢рд╛рдиреБрдХреНрд░рдо рдореЗрдВ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдХрдИ рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рдирд┐рд╖реЗрдз, рдЖрднрд╛рд╕реА рдХрд╛рд░реНрдп) рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЛ рдЕрдиреНрдп рдХрдХреНрд╖рд╛рдПрдВ)ред рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╣рдореЗрдВ рд╕рд┐рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ? рдпрд╣ рд╕рд╣реА рд╣реИ - рд╕рдорд╛рдзрд╛рди рдХреЗ рд╕рд╛рде рдЖрдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрдЧрд░ рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рд╕рд╛рде рдХреЛрдИ рд░рд╛рд╕реНрддрд╛ рдирд╣реАрдВ рд╣реИ - рд╕реА ++ рдорд╛рдирдХ рдЖрдкрдХреЛ рдпрд╣ рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:
class externalclass:someclass1, someclass2 { private: class internalclass:public _protocol {
рдмрд╛рд╣рд░реА рдФрд░ рднреАрддрд░реА рд╡рд░реНрдЧ рдХреЛ рдЗрддрдиреА рдордЬрдмреВрддреА рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЙрдирдХреА рдмрд╛рддрдЪреАрдд рд╕реЗ рд╡рд╣ рд╕рдм рдХреБрдЫ рдорд┐рд▓ рдЬрд╛рдПрдЧрд╛ рдЬрд┐рд╕рдХреА рд╣рдореЗрдВ рдЬрд░реВрд░рдд рд╣реИред
рд╕рд╛рд░рд╛рдВрд╢:
1) рдХрдХреНрд╖рд╛ рдХреЛ рдкреНрд░рддреНрдпрд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдПрдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╡рд░реНрдЧ рдЬреЛ рдЖрднрд╛рд╕реА рдХрд╛рд░реНрдпреЛрдВ, рдкреНрд░рддрд┐рдирд┐рдзрд┐рдпреЛрдВ рдФрд░ рд╕реВрдЪрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рддреНрдпрд╛рдпреЛрдЬрд┐рдд рд╡рд╕реНрддреБ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
2) рдкреНрд░рддреНрдпрд╛рдпреЛрдЬрд┐рдд рд╡рд░реНрдЧ рдХреЛ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред