0 / 0 / 0
Регистрация: 14.04.2017
Сообщений: 5
1

Как правильно инициализировать статические поля класса

04.05.2017, 13:35. Показов 1279. Ответов 2
Метки нет (Все метки)

Здравствуйте, уважаемые форумчане!
Столкнулся с проблемой, решение нашел, но идею еще нужно понять.
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//MyClass.h 
 
class MyClass
{
 private:
  static int x;
  static QList<QString> strList;
};
 
//MyClass.cpp
 
  MyClass::x=5;//<- все просто 
  QList<QString> MyClass::strList=QList<QString>()<<QString("Start") << QString("Finish");//Зачем требуется такая конструкция??
//  QList<QString> MyClass::strList << "Start"<<"Finish";//Так не работает
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.05.2017, 13:35
Ответы с готовыми решениями:

Qt creator статические поля класса
Я создал в классе статическую переменную типа int static float speed; И когда я из...

Как правильно инициализировать статические члены класса?
Я новичок и заранее прошу прощение за тупые вопросы. Имеются два класса: Solution и Pool. Pool...

Как инициализировать статические члены класса
Помогите пожалуйста....я не знаю как вывести в статическое поле значения((( #include &lt;conio.h&gt; ...

Друзья, подскажите, говорят, что можно поля класса инициализировать в момент объявления класса. Как это сделать?
Скажу сразу, а то сейчас начнется, что я прекрасно понимаю, что поля класса при объявлении...

2
Эксперт по математике/физикеЭксперт С++
1942 / 1280 / 367
Регистрация: 16.05.2013
Сообщений: 3,339
Записей в блоге: 6
04.05.2017, 13:41 2
C++ (Qt)
1
QList<QString> MyClass::strList << "Start"<<"Finish";//Так не работает
И не будет работать ибо прежде чем вызывать operator<< сперва следует сконструировать объект для которого эта функция вызывается.
1
15261 / 8228 / 1993
Регистрация: 30.01.2014
Сообщений: 14,012
04.05.2017, 15:32 3
Цитата Сообщение от ijor Посмотреть сообщение
C++ (Qt)
1
QList<QString> MyClass::strList=QList<QString>()<<QString("Start") << QString("Finish");//Зачем требуется такая конструкция??
Да можно проще:
C++ (Qt)
1
QList<QString> MyClass::strList{QString("Start"), QString("Finish")};
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.05.2017, 15:32

Как инициализировать поля класса случайным образом?
Есть некий класс, и его наследник, abstract class Person { public string Name...

Как обьявить статические поля класса в глобальной области?
У класса есть статическое поле, определение должно находиться за пределами объявления класса. Как...

Как правильно инициализировать динамический массив пользовательского класса
Допустим есть класс: class A { public: A(); A(int a, int b, int c) {} }; и нам нужно...

Статические поля класса
Не подскажете как инициализировать статический массив? Но чтобы я сам мог ввести этот массив.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.