21xrx.com
2025-03-21 03:32:25 Friday
文章检索 我的文章 写文章
C++虚函数示例
2023-06-24 09:08:16 深夜i     12     0
C++ 虚函数 示例

C++是一种面向对象编程语言,面向对象编程的一个重要特性就是多态性。在C++中,多态性通常可以通过虚函数来实现。虚函数是一种特殊的函数,它可以在派生类中重写,并可以通过基类的指针或引用来调用。

下面是一个C++虚函数的示例:

#include <iostream>
using namespace std;
class Shape {
  protected:
   int width, height;
  public:
   Shape( int a = 0, int b = 0)
     width = a;
     height = b;
   
   virtual int area()
     cout << "Parent class area :" << endl;
     return 0;
   
};
class Rectangle: public Shape {
  public:
   Rectangle( int a = 0, int b = 0):Shape(a, b) { }
   int area () {
     cout << "Rectangle class area :" << endl;
     return (width * height);
   }
};
int main() {
  Shape *shape;
  Rectangle rec(10,7);
  shape = &rec;
  shape->area();
  return 0;
}

在这个示例中,有一个`Shape`基类和一个`Rectangle`派生类。其中`Shape`类有一个虚函数`area()`,在`Rectangle`类中重写了这个虚函数。在`main`函数中,我们定义了一个`Shape`类型的指针变量`shape`,然后将它指向`Rectangle`对象。接着,我们通过这个指针变量来调用`area()`函数,由于`area()`函数是虚函数,因此会根据对象实际的类型来选择调用哪个版本的函数,这里会调用`Rectangle`类中的`area()`函数。

在这个示例中,虚函数可以实现多态性,使得程序可以根据对象实际的类型来调用相应的函数,这提高了程序的灵活性和可扩展性。同时,虚函数也为C++面向对象编程提供了更多的功能和特性。

  
  

评论区