मैं ऑब्जेक्ट/क्लास को कैसे संशोधित करूं?


सरल सलाह माँग रहा हूँ

मैं अपना 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...");
}

वास्तव में
मैं “नए कंस्ट्रक्टर” के लिए एक इंट विकल्प कैसे पास करूं?

अभी तक यह इस तरह दिखता है:

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