21xrx.com
2024-12-22 21:53:29 Sunday
登录
文章检索 我的文章 写文章
C++中多态的实现——虚函数
2023-07-11 12:28:40 深夜i     --     --
C++ 多态 实现 虚函数 继承

C++是一种面向对象的编程语言,多态是面向对象编程的三大特性之一,也是C++中非常重要的一个概念。在C++中,多态通过虚函数来实现。

虚函数是在基类中使用virtual关键字声明的成员函数,可以被继承类覆盖,在运行时根据对象的实际类型动态绑定,实现了多态的特性。

下面我们通过一个简单的例子来理解C++中的多态实现:

首先定义一个基类Animal,其中包含了虚函数speak:


class Animal{

public:

  virtual ~Animal(){} //析构函数必须为虚函数,以便在派生类中正确地释放内存

  virtual void speak()

    cout<<"This is an animal."<<endl;

  

};

然后定义两个派生类Dog和Cat,它们都重写了虚函数speak:


class Dog:public Animal{

public:

  void speak()

    cout<<"This is a dog."<<endl;

  

};

class Cat:public Animal{

public:

  void speak()

    cout<<"This is a cat."<<endl;

  

};

接下来,我们创建一个Animal类型的指针,指向Dog和Cat类的对象,并调用speak函数:


Animal* p1 = new Dog;

Animal* p2 = new Cat;

p1->speak(); //输出 This is a dog.

p2->speak(); //输出 This is a cat.

由于speak函数是虚函数,所以在运行时会根据对象的实际类型动态绑定,实现了多态的特性。这就是C++中多态的实现方式。

总结来说,C++中多态是通过虚函数实现的。通过定义虚函数,在派生类中重写该函数,并利用动态绑定的特性,实现了多态的效果。多态是C++中非常重要的概念,对于理解面向对象编程具有重要意义。

  
  

评论区

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