Computer >> Máy Tính >  >> Lập trình >> C ++

Các hàm ảo được thực hiện như thế nào trong C ++?

Các hàm ảo trong C ++ được sử dụng để tạo danh sách các con trỏ lớp cơ sở và gọi các phương thức của bất kỳ lớp dẫn xuất nào mà không cần biết đến loại đối tượng lớp dẫn xuất. Các chức năng ảo được giải quyết muộn, trong thời gian chạy.

Đây là cách triển khai hàm ảo trong chương trình C ++ -

Ví dụ

#include <iostream>
using namespace std;
class B {
   public:
      virtual void s() { //virtual function 
         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; // A pointer variable of type B* pointing to d
   b->s(); // prints"D::s() called"
   return 0;
}

Đầu ra

In Derived