21xrx.com
2024-11-22 08:07:37 Friday
登录
文章检索 我的文章 写文章
C++中的多态性
2023-07-07 04:55:38 深夜i     --     --
C++ 多态性 虚函数 动态绑定 继承

C++是一门支持多态性的编程语言。多态性允许不同的对象用相同的接口执行不同的任务,这使得程序变得更加灵活和可扩展。

C++中的多态性是通过虚函数来实现的。虚函数是在基类中声明的函数,其关键字为“virtual”。当派生类继承基类并重写虚函数时,程序会自动调用派生类自己的函数。

示例代码:


class Animal {

public:

  virtual void make_sound()

    cout << "unknown sound" << endl;

  

};

class Cat : public Animal {

public:

  void make_sound()

    cout << "meow" << endl;

  

};

class Dog : public Animal {

public:

  void make_sound()

    cout << "woof" << endl;

  

};

int main() {

  Animal* a = new Cat();

  a->make_sound(); // 输出 "meow"

  Animal* b = new Dog();

  b->make_sound(); // 输出 "woof"

}

在上面的代码中,Animal是基类,Cat和Dog是派生类。Animal定义了虚函数make_sound(),而Cat和Dog都重写了这个函数并提供自己的实现。在main函数中,我们创建了一个指向Cat对象和一个指向Dog对象的Animal指针,然后调用它们的make_sound()函数。程序会自动根据指针所指向的对象类型来调用相应的函数。

可以看到,C++中的多态性使得代码变得简单易懂、可扩展性强。当新的类需要使用同样的接口时,只需重写虚函数即可,不需要改变原来的基类代码。

  
  
下一篇: C++基础运算

评论区

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