????c-function.c??


/* This is C code */
 
 #include "Fred.h"
 
 void c_function(Fred* fred)
 {
   cplusplus_callback_function(fred);
 } 


??????c++?????????c?????????????????????????????????????????????????磬??c++???????????????????dp???????Derived*???????????????bp???????Base*????????????????????дif (dp == bp)?????c++?????????????????????????????????????????????????Base*??????????????????c++??????????????????????????????????

????????????????????c++??????????????????????????к?????????????????c++??????????????????????????????????????????????????????

??????????c??????????????????????????????????Derived*??Base*????????c++??????????????????????c??????????????

???????????????????????void*????????С??????c??c++????????????????????????????????????????(b==d)????(x==y)?????????????


void f(Base* b?? Derived* d)
 {
   if (b == d) {    Validly compares a Base* to a Derived*
     ...
   }
 
   void* x = b;
   void* y = d;
   if (x == y) {    BAD FORM! DO NOT DO THIS!
     ...
   }
 } 


???????????????????????????????????ж??л???????????????????????????????????????????

????????????????void*????????????????????


void f(Base* b?? Derived* d)
 {
   void* x = b;
   void* y = static_cast<Base*>(d);  ← If conversion is needed?? it will happen in the static_cast<>
   if (x == y) {    Validly compares a Base* to a Derived*
     ...
   }
 } 
????9??c???????????????????c++?????ж????????

?????????c++??????????????????????c????????????????c++????

?????? ????麯??(??????е??麯??)

?????? ???е????????????????private/protected/publlic??

?????? ?????????????????????麯??

???????c++?????????????κ????????????????????????????????????????????????????????в?????????????漲?????????????У????е?c++??????????????????????????????????????λ???????е??????????????????????????????

??????????????????κθ????????κ??麯???????????е?c++???????????????麯?????????????????????????????void*??????????????????????????д?????????????

????????????鴯??????????????????????????????????????????(v)???????????????л?????v????????????????????????????????????????????????v????????????????????????v????????

????10??????????C++????c??????????

??????????????

??????????oo?????????c++?????????????????????н?????????????????????н??б????????????????б???

????c???????????????????????????????????c????????????????????????????c++?в??????????????????????c?????????????????е??????????????????ì??????饗????????“????”????????????????????OO????????????????c++?????????Щ???????????????????????????????????????????????????????????

??????????????????κ?????д?????????c++ ????б???κδ????????????????????????????κ????????????????????????

????c++?????????????????д???????????????????????????д???????