Trong C ++, các phương thức là không ảo theo mặc định. Chúng có thể được tạo ra chức năng ảo bằng cách sử dụng một từ khóa ảo.
Mã mẫu
#include <iostream> using namespace std; class B { public: void s() //non virtual by default. Use virtual before the function to print “In Derived” { cout<<" In Base \n"; } }; class D: public B { public: void s() { cout<<"In Derived \n"; } }; int main(void) { D d; // An object of class D B &b = d; b.s(); return 0; }
Đầu ra
In Base.
Trong Java, các phương thức là ảo theo mặc định. Chúng có thể trở thành chức năng không ảo bằng cách sử dụng từ khóa cuối cùng.
Mã mẫu
class B { public void s() { System.out.println("In Base"); // virtual by default } } class D extends B { public void s() { System.out.println(" In Derived"); } } public class Main { public static void main(String[] args) { B b = new D(); b.show(); } }
Đầu ra
In Base.