C++ (Qt)#include <stdio.h> class A {private: virtual void Print( void ) { printf("A\n"); } }; class B : public A {public: B( A & a ) : mA(a) {} void Print( void ) { printf("B\n"); } void Test( void ) { B & b = static_cast <B &> (mA); b.Print(); } // data A & mA;}; int main(int argc, char *argv[]){ A a; B b(a); b.Test(); return 0;}
C++ (Qt)#include <stdio.h> class A {private: virtual void Print( void ) { printf("A\n"); } }; class B : public A {public: void Print( void ) { printf("B\n"); } }; int main( void ){ A a; (static_cast <B &> (a)).Print(); return 0;}
C++ (Qt)// Здесь Print publicclass A {public: virtual void Print() { printf("A\n"); }}; // Здесь мы его запротектилиclass B : public A {protected: virtual void Print() { printf("B\n"); A::Print(); }}; // Здесь мы его опять достали в пабликclass C : public B {public: virtual void Print() { printf("C\n"); B::Print(); }}; int main( void ){ A a; B b; C c; a.Print();// b.Print(); << B::Print недоступен c.Print(); return 0;}
C++ (Qt)void MyFunc( const QSomeClass & a );...class QSоmeClass { private: virtual void Method1( void );
C++ (Qt)void Test( A & a );