//1.cpp1. #include <iostream.h>2. class shape{3. public:4. void draw(){cout<<"I am shape"<<endl;}5. void fun(){draw();}6. };7. class circle:public shape{8. public:9. void draw(){cout<<"I am circle"<<endl;}10. };11. main(){12. class circle oneshape;13. oneshape.fun();14. }
//2.cpp1. #include <iostream.h>2. class shape{3. public:4. virtual void draw(){cout<<"I am shape"<<endl;}5. void fun(){draw();}6. };7. class circle:public shape{8. public:9. void draw(){cout<<"I am circle"<<endl;}10. };11. main(){12. class circle oneshape;13. fun(&oneshape);14. }
//3.cpp1. #include <iostream.h>2. class shape_novirtual{3. int a;4. public:5. void draw(){cout<<"shape_novirtual::draw()"<<endl;}6. };7. class shape_virtual1{8. int a;9. public:10. virtual void draw(){cout<<"shape_virtual::draw()"<<endl;}11. };12. class shape_virtual2{13. int a;14. public:15. virtual void draw(){cout<<"shape_virtual2::draw()"<<endl;}16. virtual void draw1(){cout<<"shape_virtual2::draw1()"<<endl;}17. };18. main(){19. cout<<"sizeof(int)"<<sizeof(int)<<endl;20. cout<<"sizeof(class shape_novirtual):"<<sizeof(shape_novirtual)<<endl;21. cout<<"sizeof(void*):"<<sizeof(void*)<<endl;22. cout<<"sizeof(class shape_virtual):"<<sizeof(shape_virtual)<<endl;23. cout<<"sizeof(class shape_virtual2):"<<sizeof(shape_virtual2)<<endl;24. }
sizeof(int)4sizeof(class shape_novirtual):4sizeof(void*):4sizeof(class shape_virtual1):8sizeof(class shape_virtual2):8Press any key to continue
sizeof(int)4sizeof(class shape_novirtual):1sizeof(void*):4sizeof(class shape_virtual1):4sizeof(class shape_virtual2):4Press any key to continue