21xrx.com
2024-12-22 22:47:01 Sunday
登录
文章检索 我的文章 写文章
C++实现多态的几种方式
2023-06-23 20:25:39 深夜i     --     --
C++ 实现 多态 方式 继承

C++是一种支持面向对象编程(OOP)的语言,其中一个重要的概念是多态。多态性让我们能够使用同样的代码来处理不同类的对象。在本文中,我们将介绍几种实现多态的方法。

1. 虚函数

C++中,通过在父类中声明虚函数,子类可以通过重写虚函数来实现多态性。例如:

class Shape {

public:

 virtual void draw()

  // ...

};

class Circle : public Shape {

public:

 void draw() override

  // ...

};

在这个例子中,我们在父类Shape中声明了虚函数draw,并在子类Circle中重写了这个函数。当我们使用父类类型的指针来引用子类对象时,如果这个对象拥有重写的虚函数,那么就会调用相应的子类函数。

2. 纯虚函数

纯虚函数是一种不需要在父类中实现的虚函数。我们可以用纯虚函数来实现抽象类,而由子类来实现这个函数。例如:

class Shape {

public:

 virtual void draw() = 0;

};

class Circle : public Shape {

public:

 void draw() override

  // ...

};

在这个例子中,我们将虚函数draw声明为纯虚函数。因为Shape类是抽象类,不能被实例化,因此我们需要在子类Circle中实现draw函数。同样地,当我们使用父类类型的指针来引用子类对象时,子类的draw函数将被调用。

3. 模板函数

另一种实现多态性的方法是使用模板函数。模板函数可以根据参数的类型来执行不同的操作。例如:

template

void print(T t)

 std::cout << t << std::endl;

在这个例子中,我们定义了一个打印函数print,它可以接受任何类型的参数。当我们调用print函数时,编译器会根据参数的类型自动选择合适的函数。

以上是几种实现多态性的C++方法。无论我们使用哪种方法,C++的多态性都让我们能够更加方便地操作对象,让我们的代码更加灵活和可维护。

  
  

评论区

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