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

Hàm ảo trong C ++

Trong hướng dẫn này, chúng ta sẽ thảo luận về một chương trình để hiểu các hàm ảo trong C ++.

Hàm ảo là hàm thành viên được định nghĩa trong lớp cơ sở và có thể được định nghĩa thêm trong lớp con. Trong khi gọi lớp dẫn xuất, hàm bị ghi đè sẽ được gọi.

Ví dụ

#include <iostream>
using namespace std;
class base {
   public:
   virtual void print(){
      cout << "print base class" << endl;
   }
   void show(){
      cout << "show base class" << endl;
   }
};
class derived : public base {
   public:
   void print(){
      cout << "print derived class" << endl;
   }
   void show(){
      cout << "show derived class" << endl;
   }
};
int main(){
   base* bptr;
   derived d;
   bptr = &d;
   //calling virtual function
   bptr->print();
   //calling non-virtual function
   bptr->show();
}

Đầu ra

print derived class
show base class