¿Cómo modifico el objeto/clase?

programación


Pidiendo un consejo sencillo

Estoy reconstruyendo mi código C++.
Actualmente tengo la clase predeterminada de compilación de QtCreator.
La clase procesa una “llamada al sistema” usando la biblioteca.

Me gusta reconstruir la clase pasando cualquiera de las opciones #
o texto real del comando del sistema.

¿Qué sería preferible?

Creo que pasar una opción # y dejar un constructor nuevo, no predeterminado
para visualizar (cambiar) el comando…

Los comandos pueden ser una “lista de cadenas” y el “interruptor” podría volverse demasiado complicado…

Lo que he probado:

Pase la opción # – int ….

Aquí está el constructor predeterminado original.

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...");
}

De hecho
¿Cómo paso una opción int al “nuevo constructor”?

A partir de ahora esto se ve así:

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

Solución 1

No puede agregar parámetros sin valores predeterminados después de un parámetro que sí tiene un valor predeterminado. Entonces lo siguiente:

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をコピーしました