21xrx.com
2024-12-22 19:10:34 Sunday
登录
文章检索 我的文章 写文章
C++基类指针数组
2023-06-30 11:30:18 深夜i     --     --
C++ 基类 指针数组 继承 多态

C++基类指针数组是一种在C++编程中广泛使用的数据结构。它允许开发者在一个数组中同时存储不同类型的派生类对象。这种数据结构的强大之处在于,它可以动态地创建和管理一组对象,而且可以在不同的代码部分对它们进行引用和操作。使用基类指针数组可以有效地减少代码的重复性,提高程序的模块化和扩展性。

在基类指针数组中,所有的元素都是指向基类对象的指针。这个基类通常是一个抽象基类,其中定义了一些基础的成员函数或虚函数。通过这些成员函数,基类可以定义一些通用的操作,如打印对象信息、计算对象大小、释放对象等等。而派生类则可以在此基础上进行扩展,添加独特的数据和方法。

下面是一个简单的示例代码,它创建了一个基类指针数组,并通过动态分配内存的方式创建了两个派生类对象:


#include <iostream>

using namespace std;

class Shape {

public:

  virtual void draw() = 0;

};

class Rectangle : public Shape {

public:

  void draw()

    cout << "Drawing a rectangle." << endl;

  

};

class Circle : public Shape {

public:

  void draw()

    cout << "Drawing a circle." << endl;

  

};

int main() {

  const int size = 2;

  Shape* shapes[size];

  shapes[0] = new Rectangle();

  shapes[1] = new Circle();

  for (int i = 0; i < size; i++) {

    shapes[i]->draw();

    delete shapes[i];

  }

  return 0;

}

在这个示例代码中,我们创建了一个大小为2的基类指针数组,其中的每个元素都指向一个派生类对象。然后,我们遍历这个数组并调用每个对象的draw()方法,分别输出“Drawing a rectangle.”和“Drawing a circle.”。最后,我们释放了每个对象占用的内存。

总之,C++基类指针数组是一个非常有用的数据结构,它可以大大简化程序开发的工作,并提高代码的可读性和可维护性。尽管它有一定的复杂性和学习门槛,但是掌握了这个知识点后,开发者会发现它是一个非常强大而且值得使用的工具。

  
  

评论区

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