A* obj=new C(); obj->fun(); class C:public B { private: virtual fun()

来源:互联网 发布:淘宝的alexa排名是多少 编辑:程序博客网 时间:2024/06/05 06:39
// tmpDerive.cpp : Defines the entry point for the console application.//#include "stdafx.h"class A{public:virtual fun(){printf("A!\n");}};class B:public A{protected:virtual fun(){printf("B!\n");}};class C:public B{private:virtual fun(){printf("C!\n");}};class A1{private:virtual fun(){printf("A1!\n");}};class B1:public A1{protected:virtual fun(){printf("B1!\n");}};class C1:public B1{public:virtual fun(){printf("C1!\n");}};int main(int argc, char* argv[]){A* obj=new C();obj->fun();C1* pobjC1=new C1();A1* obj1=pobjC1;printf("%p;%p\n",pobjC1,obj1);reinterpret_cast<C1*>(obj1)->fun();static_cast<C1*>(obj1)->fun();//obj1->fun();printf("Hello World!\n");return 0;}