C++ (Qt)class Parent{ public: virtual void action( const char how ){ this->action( &how ); } virtual void action( const char * how ) = 0;}; class Son : public Parent{ public: using Parent::action; // Why should i write this line? void action( const char * how ){ printf( "Action: %c\n", *how ); }};int main( int argc, char** argv ){ Son s = Son(); s.action( 'a' ); return 0;}
class Parent{public: virtual Parent* clone() const { return new Parent(); }};class Son : public Parent{public: // Обратите внимание, возвращается Son* а не Parent* virtual Son* clone() const { return new Son(); } };... Son son;Son* clone = son.clone(); // соответственно, никакого даункаста
action( const char *)
action( const char how )