まず、答えがどこかにあることは知っていますが、午前中ずっと探していましたが、見つかりませんでした。
私の質問は、Java がどのように見えるかに関するものです
abstract class AbstractWorker {
public abstract int doIt();
}
class Thinker extends AbstractWorker {
public int doIt() { return 42; }
}
class Milkmaid extends AbstractWorker {
public int doIt() { return 1 + 2; }
}
class Worker {
public int getWorkDone(AbstractWorker worker) {
return worker.doIt();
}
}
これはC++でも可能だと思います。しかし、どうすればこれを実装できますか? 私のアプローチは次のようになります
struct AbstractWorker {
virtual int doIt() = 0;
};
struct Thinker : public AbstractWorker {
int doIt() { return 42; }
};
struct Milkmaid : public AbstractWorker {
int doIt() { return 1 + 2; }
};
struct Worker {
int getWorkDone(AbstractWorker &worker) {
return worker.doIt();
}
};
これの何が問題なのですか?または、これをどのように解決しますか?