Witam. Taka sytuacja. Jest klasa Connection, która dziedziczy po QTcpSocket. W klasie serwera mam taką metodę, dodającą nowe połączenie (klienta)
void Server::addClient() {
Connection * connection = static_cast<Connection*>(socket->nextPendingConnection()); //Konwersja z QTcpSocket* do Connection*
connection->setID(maxID);
//jakies dodawanie do tablicy <Connection*> i inne
maxID++;
}
JAk widać, nigdzie nie wywołuję konstruktora klasy Connection (nigdzie nie tworzę jej egzemplarza, a jedynie konwertuję do jej postaci). Czy w związku z tym warto dać konstrutkor tej klasy do bloku private żeby ktoś przypadkiem nie stworzył jej egzemplarza? Czy da się wywołać jakoś ten konstruktor po takiej konwersji? Czy dobrze jest to pomyślane? W zamiarze, ma być tak że ten obiekt connection jest jakby klientem przychodzącym, rozszerza on klasę QTcpSocket o jakieś pola i metody (tutaj o ID klienta).