Comment modifier un objet/classe ?

la programmation


Demander un conseil simple

Je reconstruis mon code C++.
Actuellement, j’ai la classe par défaut de build QtCreator.
La classe traite “l’appel système” à l’aide de la bibliothèque.

J’aime reconstruire la classe en passant l’une ou l’autre option #
ou le texte réel de la commande système.

Qu’est-ce qui serait préféré ?

Je pense passer une option # et laisser un nouveau constructeur, pas par défaut
pour pic (changer) la commande…

Les commandes peuvent être une “liste de chaînes” et le “commutateur” pourrait devenir trop compliqué…

Ce que j’ai essayé :

Option de passage # – int ….

Voici le constructeur par défaut d’origine

C++
MainWindow_Bluewtoothctl_Dialog::MainWindow_Bluewtoothctl_Dialog(QWidget *parent)
    : QDialog(parent)
    , ui(new Ui::MainWindow_Bluewtoothctl_Dialog)
{
    ui->setupUi(this);

#ifdef TRACE
...
#endif
    //..text = " Constructor...";
    // ui->textEdit->append(" Constructor...");
}

En fait
comment passer une option int au « nouveau constructeur » ?

Pour l’instant, cela ressemble à ceci :

C++
// origninal default constructor
MainWindow_Bluewtoothctl_Dialog(QWidget *parent = nullptr);

Solution 1

Vous ne pouvez pas ajouter de paramètres sans valeurs par défaut après un paramètre qui a une valeur par défaut. Donc ce qui suit :

C++
// illegal as command has no default
MainWindow_Bluewtoothctl_Dialog(QWidget *parent = nullptr, QTstring command)

// needs to be ...
MainWindow_Bluewtoothctl_Dialog(QWidget *parent, QTstring command)

// or
MainWindow_Bluewtoothctl_Dialog(QWidget *parent = nullptr, QTstring command = 'whatever a null QTstring is')

コメント

タイトルとURLをコピーしました