21xrx.com
2024-12-23 02:13:00 Monday
登录
文章检索 我的文章 写文章
C++虚函数示例
2023-06-24 09:08:16 深夜i     --     --
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++面向对象编程提供了更多的功能和特性。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复