
01
对象数组

前面的文章小哥跟大家介绍了多态,其中虚函数是实现面向对象多态的非常重要的手段,而虚函数简单的理解就是通过父类指针可以直接访问到子类的同名虚函数,这样从方法绑定类型过渡到了方法绑定对象,所以这也就是为什么叫面向对象吧。
而对于数组是我们玩C语言最早接触的数据类型,它的特点就是同类型数据的连续存储的集合,而在C++中所有的数据类型大伙都要他们看成是类类型。
基于这样的观点,我们的数组类型当然可以是对象,再简单一点理解就类似于C语言中的元素类型为结构体的数组,下面我们看一下对象数组:
1#include <iostream>
2using namespace std;
3
4class Array
5{
6public:
7 int Val;
8
9public:
10 Array(int a):Val(a)
11 {
12
13 }
14 void print(void)
15 {
16 cout<<"print : "<< Val<<endl;
17 }
18};
19
20int main(int argc, char** argv) {
21
22 Array array[5] ={1,2,3,4,5};
23
24 for(int i = 0;i < 5;i++)
25 {
26 array[i].print();
27 }
28 return 0;
29}
最后输出的结果为:

02
对象数组为啥不用多态


所以如果你在父类中并没有通过父类指针去遍历和索引,那也是没有问题的,多态还是可以继续使用的,如果需要使用父类指针去索引子类对象数组,那就特别需要注意内存对齐问题了~
最 后
这里小哥就介绍了一下C++中多态在数组中使用的注意事项,希望本文能够对你有帮助,该系列还会持续更新,大家可以持续关注~
小哥搜集了一些嵌入式学习资料,公众号内回复"1024"即可获取~
推荐好文 点击蓝色字体即可跳转
☞ 专辑|手撕C语言
☞ 专辑|经验分享





