Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.02.2020, 12:06   #1
Мaкс
Форумчанин
 
Регистрация: 12.06.2018
Сообщений: 831
Вопрос Вызвать конструктор (не указателя) с параметрами в заголовочном файле (.h).

всем привет. Есть класс, нужно создать объект другого класса, вызвав ещё конструктор... короче посмотрите...
Снимок.jpg
Если это
Код:
QImage imagebuffer(500, 500, QImage::Format_RGB32);
объявить в методе или в файле .cpp, а не .h, то проблема исчезает. Но мне нужен объект класса, а не метода.
P.S. Т.к. это проблема по С++, а не по Qt, я выкладываю эту проблему здесь. Заранее спасибо за любую помощь...
Мaкс вне форума Ответить с цитированием
Старый 23.02.2020, 15:16   #2
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Если бы Вы выложили код, а не скрин, я бы поправил

Синтаксис такой:
Код:
class A {
  A( int x, int y ) {
  }
};

class B {
  A a;
  B(): a( 1, 2 ) {
  }
};
А при разделении на заголовок и код
Код:
class A {
  A( int x, int y );
};

class B {
  A a;
  B();
};
Код:
A::A( int x, int y ) {
}

B::B(): a( 1, 2 ) {
};
Если вложенных объектов несколько, вызов их конструкторов прописывается через запятую:

Код:
class B {
  A a1, a2;
  B(): a1( 1, 2 ), a2( 3, 4 ) {
  }
};

Последний раз редактировалось Black Fregat; 23.02.2020 в 15:25.
Black Fregat вне форума Ответить с цитированием
Старый 23.02.2020, 16:06   #3
Мaкс
Форумчанин
 
Регистрация: 12.06.2018
Сообщений: 831
По умолчанию

Сам проблему решил...
Код:
QImage imagebuffer(500, 500, QImage::Format_RGB32);
заменил на
Код:
QImage imagebuffer = QImage(500, 500, QImage::Format_RGB32);
Мaкс вне форума Ответить с цитированием
Старый 24.02.2020, 09:37   #4
Алексей1153
фрилансер
Форумчанин
 
Регистрация: 11.10.2019
Сообщений: 960
По умолчанию

Цитата:
Сообщение от Мaкс Посмотреть сообщение
QImage imagebuffer{500, 500, QImage::Format_RGB32};
список инициализации ?
Алексей1153 вне форума Ответить с цитированием
Старый 24.02.2020, 12:44   #5
Мaкс
Форумчанин
 
Регистрация: 12.06.2018
Сообщений: 831
По умолчанию

Цитата:
Сообщение от Алексей1153 Посмотреть сообщение
список инициализации ?
У меня там круглые скобки...
Пишу в хейдере
Код:
QImage imagebuffer;
А в .cpp конструкторе
Код:
imagebuffer = QImage(500, 500, QImage::Format_RGB32)
Мaкс вне форума Ответить с цитированием
Старый 24.02.2020, 12:54   #6
Алексей1153
фрилансер
Форумчанин
 
Регистрация: 11.10.2019
Сообщений: 960
По умолчанию

Цитата:
Сообщение от Мaкс Посмотреть сообщение
У меня там круглые скобки
я вижу. Предлагаю использовать фигурные - такой список инициализации будет передан в конструктор объекта (прямо в поле класса)
Алексей1153 вне форума Ответить с цитированием
Старый 24.02.2020, 13:05   #7
Мaкс
Форумчанин
 
Регистрация: 12.06.2018
Сообщений: 831
По умолчанию

Цитата:
Сообщение от Алексей1153 Посмотреть сообщение
я вижу. Предлагаю использовать фигурные - такой список инициализации будет передан в конструктор объекта (прямо в поле класса)
Спасибо, попробуем.
Мaкс вне форума Ответить с цитированием
Старый 24.02.2020, 13:24   #8
Мaкс
Форумчанин
 
Регистрация: 12.06.2018
Сообщений: 831
По умолчанию

<Удалена копия предыдущего сообщения>
Мaкс вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как вызвать делегат с двумя параметрами?) vasypu C# (си шарп) 1 21.08.2018 14:00
Перечисление в отдельном заголовочном файле Базиля Помощь студентам 5 20.02.2014 14:30
объявление ссылки в h (заголовочном) файле Xcopy Общие вопросы C/C++ 3 04.11.2012 11:32
Конструктор с параметрами Donat_Oshchepkov Помощь студентам 5 31.10.2012 17:19
конструктор с параметрами vanek1 Помощь студентам 1 12.05.2011 23:00