crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Проблема с конструктором при создании формы
Delphist
  опции профиля:
сообщение 14.8.2008, 9:46
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 41
Регистрация: 4.8.2008
Из: Россия
Пользователь №: 249

Спасибо сказали: 0 раз(а)




Репутация:   0  


Я хочу в своем классе создать два конструктора:
/******MyClass.h********/

class MyClass : public QMainWindow
{
    Q_OBJECT

public:
    MyClass(QWidget *parent = 0, Qt::WFlags flags = 0);                             //конструктор №1
    MyClass(CSharedV &v, QWidget *parent = 0, Qt::WFlags flags = 0);  //конструктор №2
...
}

    
/******MyClass.cpp******/

MyClass::MyClass(QWidget *parent, Qt::WFlags flags)
    :QMainWindow(parent, flags)
{
    sharedDataModel = new SharedDataModel(this);
    ui.setupUi(this);    
    ui.treeView->setModel(sharedDataModel);
    ui.treeView->header()->setResizeMode(0, QHeaderView::Stretch);
    ui.treeView->header()->setResizeMode(1, QHeaderView::Stretch);
}

MyClass::MyClass(CSharedV &v, QWidget *parent, Qt::WFlags flags)
    :QMainWindow(parent, flags)
{
     MyClass(parent, flags);
    setShared(v);
}


Прикол в том что если я вызываю конструктор№2, то почему форма создается без
дерева, почему это происходи и как сделать чтобы все нормально заработало?

Сообщение отредактировал Delphist - 14.8.2008, 9:49
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Andrew Selivanov
  опции профиля:
сообщение 26.8.2008, 15:52
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 249
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 3

Спасибо сказали: 15 раз(а)




Репутация:   6  


Обобщим? :)
1) Конструктор это не функция, его нельзя вызвать.
2) Это ограничение есть в C++, в Java его нет (можно использовать такие штуки как this(), super() )
3) Может быть ограничение уберут в upcoming стандарте.

А вообще это вопрос из замечательного FAQ:
http://www.parashift.com/c++-faq-lite/ctors.html#faq-10.3
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 27.12.2024, 21:59