【发布时间】:2015-08-12 19:41:44
【问题描述】:
这是交易。想象一下你的如下。 将文件加载到我想要的算法层后 能够应用4种不同的算法。所以算法类有 4 个孩子,我想做这样的事情:
int main(int argc, char* argv[]) {
Data *data = new Data();
Parent *alg = new Parent(data);
alg->start();
//and this will call the start methods defined in each child.
}
孩子们是这样的:
class Child1: public Parent {
public:
int start();
}
class Child2: public Parent {
public:
int start();
}
//etc...
而我在父母 start() 方法中所做的是:
int Parent::start() {
Child1::start();
Child2::start();
//etc....
return 0;
}
但我得到一个“无法调用成员函数 'Child1::start()' 等。没有对象。” 这件事能以某种方式完成吗?从父类调用子方法?
【问题讨论】:
-
我不知道您要解决什么问题。您能否编辑您的问题以解释您在做什么以及遇到什么困难?
-
Child1,2,3,4语法是什么?,现在可以成为 C++ 标识符的一部分吗? -
我没有写完整的东西,而是使用快捷方式......不,它不是 C++ 的一部分
-
如果你的父类知道它的子类,你很可能有设计问题。
-
您听说过模板函数模式吗?