1

C++ プロジェクトにクラス テンプレートがあります。

template<class RequestHandler = DefaultRequestHandler>
class Server { ... }

次に、インスタンスをプロパティとして保持したい別のクラスがありServer<WhateverRequestHandlerIWant>ます。だから現在、私は次のようなものを持っています:

class OtherClass {
public: Server<>* server;
};

私が間違っていない限り、これによりServer、テンプレート パラメーターが class であるクラスのみを格納できますよDefaultRequestHandlerね?

OtherClassクラステンプレートも作成せずにこれを書く方法はありますか?

4

1 に答える 1

4

すべてのサーバーのようなクラスに共通の抽象クラスを追加できます。

class IServer { ... };

それから

template<class RequestHandler = DefaultRequestHandler>
class Server : virtual public IServer { ... }

class OtherClass {
public: IServer* server;
};
于 2012-06-26T13:54:39.297 に答える