Bonjour,
J'ai une classe Server qui hérite de QTcpServer.
Elle y ajoute des attributs privés, des accesseurs publics, des slots publics, et des signaux.
Je ne souhaite rendre accessible depuis l'extérieur que ce qui se trouve en public dans Server.
J'ai deux solutions :
1. Ne plus faire d'héritage et encapsuler un QtcpServer en attribut de Server.
2. Effectuer un héritage protected.
Je ne souhaite pas utiliser la solution 1 car je souhaite pouvoir hériter de Server un jour, et ce jour là je voudrai que cette fille soit une petite fille de QTcpServer
Avec la deuxième solution, l'extérieur (une GUI) obtient l'erreur
Sur les lignes suivantes :error: ‘QObject’ is an inaccessible base of ‘Server’
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 MainWindow::MainWindow(Server* server, QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { qDebug() << Q_FUNC_INFO << server << parent; // <- Erreur iciComment faire pour donner l'accès à QObject ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part connect(ui->offPushButton, SIGNAL(clicked()), _server, SLOT(switchOff()));
Merci d'avance pour vos conseils.






Répondre avec citation







Partager