fork download
  1. #include<iostream>
  2. class Base
  3. {
  4. public:
  5. virtual double Function(int i) const{std::cout<<"\nIn Base int version";}
  6. };
  7.  
  8. class SubClass : public Base
  9. {
  10. public:
  11. virtual double Function(int i) const{std::cout<<"\nIn Derived int version";}
  12. double Function(std::string str) const{std::cout<<"\nIn Derived string version";}
  13. double Function(double i) const {std::cout<<"\nIn Derived double version";}
  14. };
  15.  
  16. int main()
  17. {
  18. SubClass obj;
  19. obj.Function(10);
  20. obj.Function(10.1);
  21. obj.Function("Hello");
  22.  
  23. Base Bobj;
  24. Bobj.Function(10.2);
  25.  
  26. Base *ptr = new Base;
  27. ptr->Function(10.5);
  28.  
  29. Base *ptr2 = new SubClass;
  30. ptr2->Function(10);
  31. ptr2->Function(10.5);
  32.  
  33. return 0;
  34. }
Success #stdin #stdout 0.01s 2812KB
stdin
Standard input is empty
stdout
In Derived int version
In Derived double version
In Derived string version
In Base int version
In Base int version
In Derived int version
In Derived int version