233

Советы падаванам C++ ( Часть 2 )⁠⁠

Серия Курсы создания компьютерных игр на C++

///////////////////////////////////////////////////

// Начальный курс создания компьютерных игр на C/C++

[0][1][2][2.5][3][4][5][5.5][6][6.2][7][7.2][8][9][9.2][10]

///////////////////////////////////////////////////

// Советы падаванам C++

[1]



Всем привет! :]


После первого поста количество подписчиков резко увеличилось в два раза, поэтому я решил не тянуть со вторым постом. :]

Сегодня в рубрике "Советы падаванам C++" у нас будут советы-привычки - те вещи, к которым нужно привыкнуть как можно раньше и использовать каждый день :]

Жду ваши отзывы в комментариях :]


И вот вам в тему пару весёлых картинок напоследок:

Лига программистов C/C++

69 постов4.8K подписчиков

Правила сообщества

Соблюдайте правила Pikabu:

https://pikabu.ru/html.php?id=wtf


Помимо этого ЗАПРЕЩЕНО:

- Размещать в сообществе посты стиля "Подскажите как удалить вирус", "Подскажите как установить программу", "Подскажите как починить монитор/телевизор/мышь/тостер/стиральную машину" или "Напишите за меня лабу в универ". Пожалуйста размещайте такие посты вне этого сообщества или в соответствующих для этого сообществах.

Вы смотрите срез комментариев. Показать все
1
Автор поста оценил этот комментарий

@Dansken, @0xDEADFA11,

Комрады, товарищи друзья! Помогите со static полем в классе.

Суть такая: есть блок схема, в которой каждый блок - класс. Есть класс для группы блоков, в которых нужна статик-переменная, которая будет держать максимальный размер всех блоков этого класса. Т.е. в самом классе есть инструменты, которые увеличивают размер блока, и этот максимальный размер должен быть общим для всех.


но если в классе делать


public:

  void setBoxLenght(int);


private:

  static int boxLenght;


в конструкторе инициализация setBoxLenght(number);

и в функциях класса используется setBoxLenght(int), то при сборке выдаётся предупреждение ошибки unresolved external symbol "public: static int boxLenght

со ссылкой на OBJ файл. Чистка и qmake не помогают. Инициализация статической переменной вне класса выдаёт ошибку повторной инициализации в классе

раскрыть ветку (9)
1
Автор поста оценил этот комментарий

В cpp файле произведи инициализацию статической переменной:
int КлассНейм::boxLength = 0;
И будет тебе счастье

раскрыть ветку (7)
1
Автор поста оценил этот комментарий

что значит в CPP? Конструктор ведь тоже - CPP, как и любая функция класса

раскрыть ветку (6)
1
Автор поста оценил этот комментарий
"КлассНейм::" как бы намекает, что это делается вне методов и конструктора. Как правило - сразу перед конструктором :)
раскрыть ветку (5)
2
Автор поста оценил этот комментарий

@0xDEADFA11, я кажется понял, что надо сделать ))) Вечером проверю.

Ещё раз - Спасибо!

раскрыть ветку (3)
1
Автор поста оценил этот комментарий
Вот уж не за что))
раскрыть ветку (2)
1
Автор поста оценил этот комментарий
Комрады! Спешу сообщить, что разобрался в использовании статических членов! Дэдфол спасибо за пинок, Данскен - спасибо за подсказки.

Заменил статический член группой сигналов и слотов, удалил строк 50 лишнего кода!

Счастлив как слон!

@Dansken,

раскрыть ветку (1)
1
Автор поста оценил этот комментарий
заменил статическим членом группу сигналов и слотов*


upd: хмм... как то двусмысленно звучит, но вы поняли, что я имел в виду )))

1
Автор поста оценил этот комментарий
а, ну так у меня другую ошибку компилятор выдавал )))
1
Автор поста оценил этот комментарий

Инициализация статической переменной вне класса выдаёт ошибку повторной инициализации в классе.

Статические переменные необходимо инициализировать только вне класса, во всяких конструкторах им можно присваивать. Но не инициализировать. И меня не волнует, что у тебя при этом выдает ошибку! Ты должен разобраться со всеми нюансами статических членов!

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества