Здравствуйте, гость ( Вход | Регистрация )
ViGOur | Дата 8.6.2008, 21:04 |
ViGOur, это не будет компилироватся Мдя, и правда ерунду написал... Совсем плохой стал, каюсь. |
|
Red Devil | Дата 8.6.2008, 20:20 |
ViGOur, это не будет компилироватся Litkevich Yuriy Цитата а сам switch туда нельзя засунуть? Насколько я знаю нет. Можно сделать фунцкию, которая будет возвращать значение.
Ну и красивше конечно сделать эту функцию методом класса TREditor или TableEditor, она тогда конечно статической должна будет быть. |
|
ViGOur | Дата 8.6.2008, 19:46 |
а сам switch туда нельзя засунуть? Можно, но только в макрос, примерно так:
|
|
Litkevich Yuriy | Дата 8.6.2008, 18:49 |
а сам switch туда нельзя засунуть? | |
Red Devil | Дата 8.6.2008, 17:34 |
Если не слишком много возможных вариаций - то можно через тернарный оператор
Тернарные операторы можно соединить, т.е. сделать цепочку из них как и в switch, но только все будет утыкано в ? и : - и разобратся будет сложновато в будующем, т.к. читабельность будет не очень хорошая. Но работать все будет, так как нужно. |
|
Andrew Selivanov | Дата 4.6.2008, 11:19 |
Мне кажется ты слишком заморачиваешься. Просто вынеси инициализацию из конструктора в метод TableEditor::Init(int type), вызывай его потом с нужным параметром... | |
ViGOur | Дата 4.6.2008, 9:49 |
Выбирай сам... | |
ViGOur | Дата 4.6.2008, 9:40 |
Как вариант можно использовать шаблон:
|
|
Litkevich Yuriy | Дата 4.6.2008, 9:12 |
в зависимости от переменной! #define на этапе компиляции только. У меня родительский конструктор объявлен так: TableEditor(int type, QWidget *parent = 0), а дочернему передается строковая переменная. т.е. есть такая часть строки: : TableEditor(MY_CONST, parent) как ее засунуть в тело конструктора, чтоб получилось примерно такое:
но эта форма записи неправильная, как я понимаю. Есть ли иной способ инициализации родительского класса, кроме:
|
|
ViGOur | Дата 4.6.2008, 8:51 |
#define ? | |
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 23.4.2024, 10:06 |