类的指针能否保存在数组里? 请教下类的指针能否保存在数组里?最好给个列子 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 className *array[10];for(int i = 0; i < 10, i++){ array[i] = new className;}...for(int i = 0; i < 10, i++){ delete array[i];} 纠正,类是抽象,只是框架,指针是不能指向类的,只能指向类的实例,也就是这个类的对象。可以用指针数组来保存指向各个对象的指针,如:void * ptrarray[8];ptrarray[0]=&a;//a是A类的对象ptrarray[1]=&b;//b是B类的对象但是,可以看到上述方法指针都为void*类型,所以运行时如果要通过这些指针来调用相应类的函数,那会有些麻烦,必须要执行强制类型转换。所以真正好的方法是:假设A类是B,C两类的父类,B,C都直接继承自A,则A* ptrarray[8];ptrarray[0]=&c;//c是C类的对象ptrarray[1]=&b;//b是B类的对象ptrarray[2]=&a;//a是A类的对象而在调用相应类的函数时只需要通过多态的方法来实现就行了。多态太复杂,自己去查资料。 可以吧指针数组:一个数组里存放的都是同一个类型的指针,通常我们把他叫做指针数组。void * a[2]; a[0]= new class; a[1]= new class; 能够用指针表达的元素都可以使用对应的pointer数组进行存储。 求问 高斯卷积核 那个矩阵是怎么求出来的呢??? 有关mschart控件的使用 请问哪里有程序调试的网站 关于用资源DLL实现多语言版本的问题!!! 100分在线等, 打印时用MM_LOMETRIC映射模式可不可以啊.这样我画一个1cm的直线,打印出来是不是1cm啊?我画图时候,左右都留1.5cm,这样可不可 双机备份 传递参数时出错了 怎样区分左键单击和双击? 看库函数发现的问题 请教:MCI怎么用? activex嵌入web,当IE最大化或最小画时,activex没有重画。 vc2005怎样播放远程视频?
for(int i = 0; i < 10, i++)
{
array[i] = new className;
}
...for(int i = 0; i < 10, i++)
{
delete array[i];
}
void * ptrarray[8];
ptrarray[0]=&a;//a是A类的对象
ptrarray[1]=&b;//b是B类的对象但是,可以看到上述方法指针都为void*类型,所以运行时如果要通过这些指针来调用相应类的函数,那会有些麻烦,必须要执行强制类型转换。
所以真正好的方法是:
假设A类是B,C两类的父类,B,C都直接继承自A,
则
A* ptrarray[8];ptrarray[0]=&c;//c是C类的对象
ptrarray[1]=&b;//b是B类的对象
ptrarray[2]=&a;//a是A类的对象
而在调用相应类的函数时只需要通过多态的方法来实现就行了。
多态太复杂,自己去查资料。
指针数组:一个数组里存放的都是同一个类型的指针,通常我们把他叫做指针数组。
void * a[2];
a[0]= new class;
a[1]= new class;