Opérateur binaire de résolution de portée ??

Opérateur binaire de résolution de portée ?? - Programmation

Marsh Posté le 23-12-2001 à 03:01:32    

Quand j'ai ca dans la partie public d'une classe :
 
virtual void send_error(uint errcode,const char *err)
  {
    ::send_error(&thd->net,errcode,err);
  }
 
Les :: ils veulent dire quoi :??: (pourquoi il y a pas de nom de class avant comme en temps normal ?) :/
 
Merci d'avance...


---------------
Protèges carnets personnalisés & accessoires pour bébé
Reply

Marsh Posté le 23-12-2001 à 03:01:32   

Reply

Marsh Posté le 23-12-2001 à 03:10:54    

ça appelle la méthode globale du même nom et nom pas une méthode d'une classe parent.

Reply

Marsh Posté le 23-12-2001 à 03:14:00    

Ah ok, donc ca appelle  
 
 
void send_error(NET *net,uint sql_errno=0, const char *err=0);
 
qui est en dehors de toute classe ?
 
Et si on avait pas mis de ::, il serait aller chercher la fonction dans la classe même ?


---------------
Protèges carnets personnalisés & accessoires pour bébé
Reply

Marsh Posté le 23-12-2001 à 03:16:57    

>>Ah ok, donc ca appelle  
void send_error(NET *net,uint sql_errno=0, const char *err=0);
qui est en dehors de toute classe ?
 
oui.
 
>>Et si on avait pas mis de ::, il serait aller chercher la fonction dans la classe même ?  
 
je n'ai aucune idée du comportement lorsque tu appelles la méthode send_error() dans la méthode send_error(). teste voir :D si tu l'appelles dans n'importe quelle méthode de la classe, oui, il va chercher la méthode de la classe et non pas la méthode globale.

Reply

Marsh Posté le 23-12-2001 à 03:18:09    

youdontcare a écrit a écrit :

>>Ah ok, donc ca appelle  
void send_error(NET *net,uint sql_errno=0, const char *err=0);
qui est en dehors de toute classe ?
 
oui.
 
>>Et si on avait pas mis de ::, il serait aller chercher la fonction dans la classe même ?  
 
je n'ai aucune idée du comportement lorsque tu appelles la méthode send_error() dans la méthode send_error(). teste voir :D si tu l'appelles dans n'importe quelle méthode de la classe, oui, il va chercher la méthode de la classe et non pas la méthode globale.  




 
Si je teste je doute que le forum fonctionne très bien après :lol:


---------------
Protèges carnets personnalisés & accessoires pour bébé
Reply

Marsh Posté le 23-12-2001 à 03:19:32    

joce a écrit a écrit :

Si je teste je doute que le forum fonctionne très bien après :lol:


c'est justement un test intéressant :D
 
c'est du code pour quoi ? le forum est en php, mysql en C, non ?

Reply

Marsh Posté le 23-12-2001 à 03:20:33    

youdontcare a écrit a écrit :

je n'ai aucune idée du comportement lorsque tu appelles la méthode send_error() dans la méthode send_error().


en fait non, ça doit appeler la méthode en question, d'où récursion infinie. teste voir quand même :D

Reply

Marsh Posté le 23-12-2001 à 03:22:17    

ca fait partie du code source de MySQL (y a un gros boût de C++ dedans :D)


---------------
Protèges carnets personnalisés & accessoires pour bébé
Reply

Marsh Posté le 23-12-2001 à 03:24:42    

ok, je croyais que c'était 100% C.

Reply

Marsh Posté le 23-12-2001 à 03:26:40    

suffit de regarder le rep /sql/
 

Code :
  1. [root@forum (03:26:12) sql]# ls
  2. ChangeLog         ha_innobase.cc   item_create.cc    mini_client.cc         repl_failsafe.h  sql_lex.cc      sql_test.o
  3. Makefile          ha_innobase.h    item_create.h     mini_client.h          repl_failsafe.o  sql_lex.h       sql_udf.cc
  4. Makefile.am       ha_innobase.o    item_create.o     mini_client.o          share/           sql_lex.o       sql_udf.h
  5. Makefile.in       ha_isam.cc       item_func.cc      mini_client_errors.c@  slave.cc         sql_list.cc     sql_udf.o
  6. SCCS/             ha_isam.h        item_func.h       mini_client_errors.o   slave.h          sql_list.h      sql_union.cc
  7. add_errmsg*       ha_isam.o        item_func.o       my_lock.c              slave.o          sql_list.o      sql_union.o
  8. cache_manager.cc  ha_isammrg.cc    item_strfunc.cc   my_lock.o              sql_acl.cc       sql_load.cc     sql_update.cc
  9. cache_manager.h   ha_isammrg.h     item_strfunc.h    mysql_priv.h           sql_acl.h        sql_load.o      sql_update.o
  10. convert.cc        ha_isammrg.o     item_strfunc.o    mysqld*                sql_acl.o        sql_manager.cc  sql_yacc.cc
  11. convert.o         ha_myisam.cc     item_sum.cc       mysqld.cc              sql_analyse.cc   sql_manager.h   sql_yacc.h
  12. custom_conf.h     ha_myisam.h      item_sum.h        mysqld.o               sql_analyse.h    sql_manager.o   sql_yacc.o
  13. derror.cc         ha_myisam.o      item_sum.o        net_pkg.cc             sql_analyse.o    sql_map.cc      sql_yacc.yy
  14. derror.o          ha_myisammrg.cc  item_timefunc.cc  net_pkg.o              sql_base.cc      sql_map.h       stacktrace.c
  15. des_key_file.cc   ha_myisammrg.h   item_timefunc.h   net_serv.cc            sql_base.o       sql_map.o       stacktrace.h
  16. des_key_file.o    ha_myisammrg.o   item_timefunc.o   net_serv.o             sql_cache.cc     sql_parse.cc    stacktrace.o
  17. field.cc          handler.cc       item_uniq.cc      nt_servc.cc            sql_cache.h      sql_parse.o     structs.h
  18. field.h           handler.h        item_uniq.h       nt_servc.h             sql_cache.o      sql_rename.cc   table.cc
  19. field.o           handler.o        item_uniq.o       opt_ft.cc              sql_class.cc     sql_rename.o    table.h
  20. field_conv.cc     hash_filo.cc     key.cc            opt_ft.h               sql_class.h      sql_repl.cc     table.o
  21. field_conv.o      hash_filo.h      key.o             opt_ft.o               sql_class.o      sql_repl.h      thr_malloc.cc
  22. filesort.cc       hash_filo.o      lex.h             opt_range.cc           sql_crypt.cc     sql_repl.o      thr_malloc.o
  23. filesort.o        hostname.cc      lex_hash.h        opt_range.h            sql_crypt.h      sql_select.cc   time.cc
  24. frm_crypt.cc      hostname.o       lex_symbol.h      opt_range.o            sql_crypt.o      sql_select.h    time.o
  25. gen_lex_hash*     init.cc          lock.cc           opt_sum.cc             sql_db.cc        sql_select.o    udf_example.cc
  26. gen_lex_hash.cc   init.o           lock.o            opt_sum.o              sql_db.o         sql_show.cc     uniques.cc
  27. gen_lex_hash.o    item.cc          log.cc            password.c             sql_delete.cc    sql_show.o      uniques.o
  28. ha_berkeley.cc    item.h           log.o             password.o             sql_delete.o     sql_sort.h      unireg.cc
  29. ha_berkeley.h     item.o           log_event.cc      procedure.cc           sql_do.cc        sql_string.cc   unireg.h
  30. ha_berkeley.o     item_buff.cc     log_event.h       procedure.h            sql_do.o         sql_string.h    unireg.o
  31. ha_hash.h         item_buff.o      log_event.o       procedure.o            sql_handler.cc   sql_string.o    watchdog_mysqld*
  32. ha_heap.cc        item_cmpfunc.cc  matherr.c         records.cc             sql_handler.o    sql_table.cc
  33. ha_heap.h         item_cmpfunc.h   mf_iocache.cc     records.o              sql_insert.cc    sql_table.o
  34. ha_heap.o         item_cmpfunc.o   mf_iocache.o      repl_failsafe.cc       sql_insert.o     sql_test.cc


---------------
Protèges carnets personnalisés & accessoires pour bébé
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed