21xrx.com
2024-05-20 20:36:34 Monday
登录
文章检索 我的文章 写文章
使用C++的基类指针数组指向子类对象
2023-07-06 18:12:11 深夜i     --     --
C++ 基类指针 数组 子类对象 指向

C++是一门广泛应用于软件开发和计算机科学领域的编程语言,面向对象编程是其重要的一部分。在面向对象编程中,基类和子类是两个关键的概念。基类是其他类的父类,子类则是继承自基类的子类。在实现多态性时,基类指针和子类对象往往要一起使用。下面我们来探讨一种使用C++的基类指针数组来指向子类对象的方法。

首先我们要定义一个基类指针数组,即一个指向基类的指针数组,同时定义一个基类的指针类型。代码示例如下:


class BaseClass {

public:

  virtual void print()

    cout << "I am a base class." << endl;

  

};

class DerivedClass1 : public BaseClass {

public:

  void print()

    cout << "I am a derived class 1." << endl;

  

};

class DerivedClass2 : public BaseClass {

public:

  void print()

    cout << "I am a derived class 2." << endl;

  

};

int main() {

  BaseClass* arr[2];

  arr[0] = new DerivedClass1();

  arr[1] = new DerivedClass2();

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

    arr[i]->print();

  }

  delete arr[0];

  delete arr[1];

  return 0;

}

上述代码中我们创建了一个基类指针数组,数组的长度为2。我们用"new"关键字动态地分配了两个子类对象,分别为DerivedClass1和DerivedClass2,并让这两个对象被指针数组所管理。我们之后使用for循环来遍历这个指针数组,依次调用每个对象的“print”方法,这里面一个动态绑定的多态性。最后我们别忘了释放这些对象的内存,这在C++中十分重要。

通过这种方法,我们可以实现使用基类指针数组指向子类对象,这是一种方便实用、灵活的面向对象编程方式,十分适合于C++等面向对象语言。

  
  

评论区

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