рдореИрдВрдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЬрд╛рд╡рд╛ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдкреИрдЯрд░реНрди рдкрд░ рдПрдХ рдкреБрд╕реНрддрдХ рдкрдврд╝рдиреЗ рдХреЛ рдпрд╛рдж рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдореИрдВ рдЕрднреА рднреА рдпрд╣ рдирд╣реАрдВ рд╕рдордЭрддрд╛ рдХрд┐ рдпрд╣ OOP рдореЗрдВ рдореЗрдореЛрд░реА рд╕реЗ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдореИрдВрдиреЗ рд╕реА рдореЗрдВ рдЕрдкрдирд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
рдореИрдВрдиреЗ рдЗрд╕ рдЬрд╛рд╡рд╛ рдкреБрд╕реНрддрдХ рдореЗрдВ рдлрд┐рд░ рд╕реЗ рджреЗрдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рдпрд╣ рдкреИрдЯрд░реНрди рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВрдиреЗ рдкреВрд░реЗ рдЕрдзреНрдпрд╛рдп рдХреЛ рджреЗрдЦрд╛, рдХреЛрдб рдХреЛ рджреЗрдЦрд╛, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд╕рд┐рд░ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрдЪрд╛ рдерд╛ред рдРрд╕рд╛ рдХреНрдпреЛрдВ? ) рдХреНрдпрд╛ рдКрдк рд╢реИрд▓реА рдореЗрдВ рд╕реЛрдЪрдирд╛ рд╕рд╣реА рд╣реИ? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВ рдереЛрдбрд╝рд╛ рдЬрд╛рд╡рд╛ рдФрд░ рд╕реА ++ рдЬрд╛рдирддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдХрд┐рддрдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ рддрд╛рдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕реБрдЦрдж рд╣реЛ рдФрд░ рднреВрд▓ рди рдЬрд╛рдП? рдкреНрд░рдпреЛрдЧ рдХреЗ рд▓рд┐рдП рднреА, рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдпрд╣ c ++ рдореЗрдВ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЦреИрд░, рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ, рдЗрд╕ рддрд░рд╣ рдХреЗ рдХреЛрдб рдХреЛ рджреЗрдЦрдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рдХрдард┐рди рд╣реИ, рдореБрдЭреЗ рд╣рд░ рдкрдВрдХреНрддрд┐ рдХреЛ рдкрдврд╝рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рд╕реЛрдЪрдирд╛ рд╣реЛрдЧрд╛ред
рддреЛ рдореИрдВрдиреЗ рдРрд╕рд╛ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХрд╛рдо рдЖ рд╕рдХрддрд╛ рд╣реИ?
рдЧрд┐рддреБрдм рдкрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдкреВрд░рд╛ рдХрд░реЗрдВред рдореИрдВрдиреЗ рдЬреЛ рд▓рд┐рдЦрд╛ рд╣реИ, рдЙрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЖрд╕рд╛рдиреА рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдЗрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ, рдЖрдкрдХреЛ рдПрдХ рд╕рдВрд░рдЪрдирд╛ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░реЗрдЧреАред рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕рдВрд░рдЪрдирд╛ рд╣реА рдкрд░реНрджреЗ рдХреЗ рдкреАрдЫреЗ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВ рд╡реНрдпрд╛рдкрд╛рд░ рдкреНрд░рдХрд╛рд╢рдХ рдХреЛ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рджрд╕реНрдпрддрд╛ рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдпрд╣ рдкреНрд░рдХрд╛рд╢рдХ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдЙрддреНрдкрд╛рдж рдЫреВрдЯ рджреЗрдЧрд╛ред рдореИрдВ рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ рдХреЛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░реНрдп рдорд╛рдирддрд╛ рд╣реВрдВ рдФрд░ рдЗрд╕реЗ рдирд┐рдпрдо рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдШреЛрд╖рд┐рдд рдХрд░рддрд╛ рд╣реВрдВред
void sub_trade ( void *event, void *data ) { }
рдЕрдм рдореИрдВ рдПрдХ рдкреНрд░рдХрд╛рд╢рдХ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рдШрдЯрдирд╛рдУрдВ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдкрдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреБрдЫ рднреА рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдХреЗрд╡рд▓ рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд╢рдХ рдХреЛ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рд╣реИред
enum { TRADE }; init_publisher ( TRADE, sub_trade, NULL );
рдФрд░ рд╡рд╣ рдпрд╣ рд╣реИред рд╣рдордиреЗ рдкреНрд░рдХрд╛рд╢рдХ рдХреЛ рд╕рджрд╕реНрдпрддрд╛ рджреАред рдЕрдм рдПрдХ рдЕрдиреНрдп рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВ рдСрдирд▓рд╛рдЗрди рдЪреИрдЯ рдореЗрдВ рдПрдХ рд╕рдорд╛рдЪрд╛рд░ рдкрддреНрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ OOP рдореЗрдВ рдРрд╕рд╛ рдХрд░рдирд╛ рдХрд┐рддрдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛, рдФрд░ рдЗрд╕рд╕реЗ рднреА рдЕрдзрд┐рдХ рдЬрд╛рд╡рд╛ рдореЗрдВ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдорджрдж рд╕реЗ рдпрд╣ рдмрд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡реИрд╕реЗ, рдЬрд╛рд╡рд╛ рдХреЛ рд╢рд╛рдпрдж рд╕реНрдереИрддрд┐рдХ рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдореИрдВ рдПрдХ рдФрд░ рд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдмрд░ рдлрд╝рдВрдХреНрд╢рди рдШреЛрд╖рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
enum { TRADE }; void notify_chat_trade ( void *event, void *data ) { } ... init_publisher ( TRADE, notify_chat_trade, NULL );
рдЕрдм рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЬрд╣рд╛рдВ рдирдпрд╛ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдкрд╛рд░реНрд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЫреВрдЯ рдбреЗрдЯрд╛ рдЖрддрд╛ рд╣реИред рдореБрдЭреЗ рдмрд╕ рдРрд╕реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдЬрд╣рд╛рдВ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рдбреЗрдЯрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
send_event ( TRADE, 10 );
рдФрд░ рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЙрдкрдпреЛрдЧ рдХреА рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХреЗ рдмрд┐рдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдФрд░ рд╕рд░рд▓ рд╣реИ, рдЖрдк рд╡рд╛рдВрдЫрд┐рдд рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЕрдЪреНрдЫрд╛ рдХрд┐рдпрд╛ред
рд╡реИрд╕реЗ, рдореБрдЭреЗ рдХреМрди рд╕рдордЭрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпрд╛ рдпрд╣ рд╕рдВрд░рдЪрдирд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рд╣реИ?