كيف يمكنني تعديل الكائن/الفئة؟


طلب نصيحة بسيطة

أقوم بإعادة بناء كود C++ الخاص بي.
لدي حاليًا فئة QtCreator لبناء الفئة الافتراضية.
يعالج الفصل “استدعاء النظام” باستخدام المكتبة.

أرغب في إعادة بناء الفصل بتمرير أي من الخيارين #
أو النص الفعلي لأمر النظام.

ما الذي يفضله؟

أعتقد أن تمرير الخيار # والسماح للمنشئ الجديد وليس الافتراضي
لصورة (التبديل) الأمر …

يمكن أن تكون الأوامر عبارة عن “قائمة سلاسل” وقد يصبح “التبديل” معقدًا للغاية …

ما حاولت:

خيار المرور # – int ….

هنا هو المنشئ الافتراضي الأصلي

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

في الحقيقة
كيف يمكنني تمرير خيار int إلى “المنشئ الجديد”؟

اعتبارًا من الآن يبدو هذا بهذه الطريقة:

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

الحل 1

لا يمكنك إضافة معلمات بدون إعدادات افتراضية بعد معلمة لها إعدادات افتراضية. لذلك ما يلي:

سي ++
// 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をコピーしました