Bagaimana cara memodifikasi objek/kelas?

pemrograman


Meminta saran sederhana

Saya sedang membangun kembali kode C++ saya.
Saat ini saya memiliki kelas default build QtCreator.
Kelas memproses “panggilan sistem” menggunakan perpustakaan.

Saya ingin membangun kembali kelas dengan meneruskan salah satu opsi #
atau teks sebenarnya dari perintah sistem.

Apa yang lebih disukai?

Saya pikir meneruskan opsi # dan membiarkan konstruktor baru, bukan default
untuk memotret (mengalihkan) perintah…

Perintahnya bisa berupa “daftar string” dan “saklar” bisa menjadi terlalu berbelit-belit…

Apa yang saya coba:

Opsi lulus # – int ….

Ini adalah konstruktor default asli

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

Sebenarnya
bagaimana cara meneruskan opsi int ke “konstruktor baru”?

Sampai sekarang, tampilannya seperti ini:

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

Solusi 1

Anda tidak dapat menambahkan parameter tanpa default setelah parameter yang memiliki default. Jadi berikut ini:

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