C++能不能实现这么一个需求
C++能不能实现这样一个需求
比如定义一个类class A
然后有一些包含run()函数的类 class b,class c,class d
然后实现这样赋值 A a;
a.d[0]=b,a.d[1]=c,a.d[2]=d
然后在一个循环里面直接执行
a.d[i].run();
有没有这种实现方式啊
------解决方案--------------------
虚函数或者模板都可以。
------解决方案--------------------
这应该不难吧。这不是相当于把B C D的三个对象分别放到A的一个数组里吗。只要B C D都继承自一个鸡肋BaseClass,A的d数组存放类型是BaseClass* 应该就可以了吧
------解决方案--------------------
不就是个数组吗,还要什么实现方式?看2楼的回复。
------解决方案--------------------
如果只是这么简单的一个功能的话,
确实没有必要搞那么多类, 代码太臃肿了!
------解决方案--------------------
数组的情况模板怎么做?
------解决方案--------------------
variadic template,直接往函数里扔对象就行了,连公共基类和虚函数都省了。
------解决方案--------------------
为a,b,c类做一个抽象吧, 否则你就等着C++11的tuple比较靠谱。
比如定义一个类class A
然后有一些包含run()函数的类 class b,class c,class d
然后实现这样赋值 A a;
a.d[0]=b,a.d[1]=c,a.d[2]=d
然后在一个循环里面直接执行
a.d[i].run();
有没有这种实现方式啊
------解决方案--------------------
虚函数或者模板都可以。
------解决方案--------------------
这应该不难吧。这不是相当于把B C D的三个对象分别放到A的一个数组里吗。只要B C D都继承自一个鸡肋BaseClass,A的d数组存放类型是BaseClass* 应该就可以了吧
------解决方案--------------------
不就是个数组吗,还要什么实现方式?看2楼的回复。
------解决方案--------------------
如果只是这么简单的一个功能的话,
确实没有必要搞那么多类, 代码太臃肿了!
------解决方案--------------------
数组的情况模板怎么做?
------解决方案--------------------
variadic template,直接往函数里扔对象就行了,连公共基类和虚函数都省了。
------解决方案--------------------
为a,b,c类做一个抽象吧, 否则你就等着C++11的tuple比较靠谱。