000
29.07.2005, 09:34 Uhr
blackbox
|
Hallo
Ich möchte in einer Klasse den Typen einer Objektvariabel (m_oServer) erst im Konstruktor bestimmen. Ist das möglich? So wie ich es mit dem Template wollte, funktioniert das nicht.
########### CClassA.h ################################## ... ...
C++: |
#include "CSerialServer.h" #include "CTcpIpServer.h" #include "CModemServer.h"
class CClassA { private: template <typename T> T* m_oServer; public: CClassA(int A); CClassA(int A, int B); CClassA(int A, int B, int C); virtual ~CClassA(); };
|
########### CClassA.cpp ##################################
C++: |
CClassA::CClassA(int A) { m_oServer = new CSerialServer(A); m_oServer->Connect(); }
// Constructor for tcpip connection CClassA::CClassA(int A, int B) { m_oServer = new CTcpIpServer(A, B) m_oServer->Connect(); }
// Constructor for modem connection CClassA::CClassA(int A, int B, int C) { m_oServer = new CModemServer(A, B, C); m_oServer->Connect(); }
CClassA::~CClassA() { m_oServer->Disconnect(); delete m_oServer; }
|
########################################################## |